In [ ]:
. ./nbs_header.ps1
. ./core.ps1
In [ ]:
{ pwsh ../apps/builder/build.ps1 } | Invoke-Block
── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ # DibParser (Polyglot) │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #r @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan dard2.1/FSharp.Control.AsyncSeq.dll" #r @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 0/System.Reactive.dll" #r @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ netstandard2.0/System.Reactive.Linq.dll" #r @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll" #r @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP arsec.dll" #r @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP arsecCS.dll" ── fsharp - import ───────────────────────────────────────────────────────────── #r "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp NetCore.Html.Abstractions.dll" #r "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot Net.Interactive.dll" #r "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot Net.Interactive.FSharp.dll" #r "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot Net.Interactive.Formatting.dll" open System open System.IO open System.Text open Microsoft.DotNet.Interactive.Formatting ── fsharp - import ───────────────────────────────────────────────────────────── #r "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot Net.Interactive.FSharp.dll" open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers #r "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot Net.Interactive.dll" open type Microsoft.DotNet.Interactive.Kernel ── fsharp - import ───────────────────────────────────────────────────────────── Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x) ── fsharp - import ───────────────────────────────────────────────────────────── Formatter.Register(fun(x: System.Collections.IEnumerable)(writer: TextWriter)->fprintfn writer "%120A" x) ── fsharp ────────────────────────────────────────────────────────────────────── #!import ../../lib/fsharp/Notebooks.dib #!import ../../lib/fsharp/Testing.dib ── fsharp - import ───────────────────────────────────────────────────────────── //// test Formatter.ListExpansionLimit <- 100 ── fsharp - import ───────────────────────────────────────────────────────────── #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] #endif type std_env_VarError = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] #endif type core_any_Any = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] #endif type core_ops_Try<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] #endif type Func0<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] #endif type Func0<'T, 'U> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] #endif type Box<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] #endif type Dyn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] #endif type Send<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] #endif type Fn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] #endif type FnUnit = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] #endif type FnOnce<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] #endif type ActionFn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] #endif type ActionFn2<'T, 'U> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] #endif type Impl<'T> = class end #if FABLE_COMPILER [[<Fable... ── fsharp - import ───────────────────────────────────────────────────────────── #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] #endif type core_any_Any = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] #endif type core_ops_Try<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] #endif type Func0<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] #endif type Func0<'T, 'U> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] #endif type Box<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] #endif type Dyn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] #endif type Send<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] #endif type Fn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] #endif type FnUnit = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] #endif type FnOnce<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] #endif type ActionFn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] #endif type ActionFn2<'T, 'U> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] #endif type Impl<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]] #endif type Mut<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Co... ── fsharp - import ───────────────────────────────────────────────────────────── #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]] #endif type async_std_task_JoinHandle<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]] #endif type std_future_Future<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]] #endif type rayon_vec_IntoIter<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]] #endif type rayon_iter_Map<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]] #endif type futures_lite_stream_StreamExt = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]] #endif type futures_future_TryJoinAll<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]] #endif type futures_future_Fuse<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]] #endif type futures_future_JoinAll<'T> = class end let rec closure0 () (v0 : System.Threading.CancellationToken) : Async<System.Threading.CancellationToken> = let v1 : bool = true let mutable _v1 : Async<System.Threading.CancellationToken> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v2 : Async<System.Threading.CancellationToken> = null |> unbox<Async<System... ── fsharp - import ───────────────────────────────────────────────────────────── #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]] #endif type std_thread_JoinHandle<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]] #endif type std_sync_Arc<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]] #endif type std_sync_Mutex<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]] #endif type std_sync_MutexGuard<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]] #endif type std_sync_PoisonError<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]] #endif type std_sync_mpsc_Receiver<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]] #endif type std_sync_mpsc_SendError<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]] #endif type std_sync_mpsc_Sender<'T> = class end type Disposable (f : unit -> unit) = interface System.IDisposable with member _.Dispose () = f () type [[<Struct>]] US0 = | US0_0 of f0_0 : System.Threading.CancellationToken | US0_1 let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit = let v1 : bool = true let mutable _v1 : unit option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT... ── fsharp - import ───────────────────────────────────────────────────────────── #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]] #endif type reqwest_Error = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]] #endif type reqwest_RequestBuilder = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]] #endif type reqwest_Response = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] #endif type std_env_VarError = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] #endif type core_any_Any = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] #endif type core_ops_Try<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] #endif type Func0<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] #endif type Func0<'T, 'U> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] #endif type Box<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] #endif type Dyn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] #endif type Send<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] #endif type Fn<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] #endif type FnUnit = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] #... ── fsharp - import ───────────────────────────────────────────────────────────── #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]] #endif type clap_Arg = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]] #endif type clap_ArgAction = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]] #endif type clap_Command = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]] #endif type clap_ArgMatches = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]] #endif type clap_builder_ValueRange = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]] #endif type clap_builder_ValueParser = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]] #endif type clap_builder_PossibleValue = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]] #endif type std_process_Child = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]] #endif type std_process_ChildStderr = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]] #endif type std_process_ChildStdout = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]] #endif type std_process_ChildStdin = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]] #endif type std_process_Command = class ... ── fsharp - import ───────────────────────────────────────────────────────────── #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]] #endif type std_fs_File = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]] #endif type std_fs_FileType = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]] #endif type std_path_Display = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]] #endif type std_path_Path = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]] #endif type std_path_PathBuf = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]] #endif type async_walkdir_DirEntry = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]] #endif type async_walkdir_Filtering = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]] #endif type async_walkdir_WalkDir = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] #endif type core_any_Any = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] #endif type core_ops_Try<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] #endif type Func0<'T> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] #endif type Func0<'T, 'U> = class end #if FABLE_COMPILER [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] #endif type Box<'T> = clas... ── fsharp - import ───────────────────────────────────────────────────────────── module SpiralTrace = let trace x = #if !INTERACTIVE Trace.trace x #else trace x #endif type TraceLevel = #if !INTERACTIVE Trace.US0 #else US0 #endif module SpiralCrypto = let hash_text x = #if !INTERACTIVE Crypto.hash_text x #else hash_text x #endif #if !FABLE_COMPILER && !WASM && !CONTRACT module SpiralAsync = let merge_cancellation_token_with_default_async x = #if !INTERACTIVE Async_.merge_cancellation_token_with_default_async x #else merge_cancellation_token_with_default_async x #endif module SpiralThreading = let new_disposable_token x = #if !INTERACTIVE Threading.new_disposable_token x #else new_disposable_token x #endif module SpiralNetworking = let test_port_open x = #if !INTERACTIVE Networking.test_port_open x #else test_port_open x #endif let test_port_open_timeout x = #if !INTERACTIVE Networking.test_port_open_timeout x #else test_port_open_timeout x #endif let wait_for_port_access x = #if !INTERACTIVE Networking.wait_for_port_access x #else wait_for_port_access x #endif let get_available_port x = #if !INTERACTIVE Networking.get_available_port x #else get_available_port x #endif module SpiralRuntime = let get_executable_suffix () = #if !INTERACTIVE Runtime.get_executable_suffix () #else get_executable_suffix () #endif let is_windows () = #if !INTERACTIVE ... ── fsharp - import ───────────────────────────────────────────────────────────── #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll" ── fsharp - import ───────────────────────────────────────────────────────────── //// test type AssertExceptionFormatter (ex) = member _.Text = ex.ToString() .Replace("32m", "<span style=\"color: green;\">") .Replace("36m", "</span>") .Replace("31m", "<span style=\"color: red;\">") .Replace("\n", "<br/>\n") Formatter.Register<AssertExceptionFormatter> ((fun (x : AssertExceptionFormatter) -> x.Text), "text/html") ── fsharp - import ───────────────────────────────────────────────────────────── //// test let inline __expect fn log expected actual = if log then printfn $"{actual.ToDisplayString ()}" try "Testing.__expect" |> fn actual expected with :? Expecto.AssertException as ex -> AssertExceptionFormatter(ex).Display () |> ignore failwith (ex.GetType().FullName) let inline __contains log expected actual = __expect Expecto.Expect.contains log expected actual let inline _contains expected actual = __contains true expected actual let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log expected actual let inline _assertEqual expected actual = __assertEqual true expected actual let inline __isGreaterThan log expected actual = __expect Expecto.Expect.isGreaterThan log expected actual let inline _isGreaterThan expected actual = __isGreaterThan true expected actual let inline __isGreaterThanOrEqual log expected actual = __expect Expecto.Expect.isGreaterThanOrEqual log expected actual let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true expected actual let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan log expected actual let inline _isLessThan expected actual = __isLessThan true expected actual let inline __isLessThanOrEqual log expected actual = __expect Expecto.Expect.isLessThanOrEqual log expected actual let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true expected actual let inline __sequenceEqual log expected actual = __expe... ── fsharp - import ───────────────────────────────────────────────────────────── //// test let inline __isBetween log a b actual = let inline isBetween actual (a, b) _ = __isGreaterThanOrEqual log a actual __isLessThanOrEqual log b actual __expect isBetween log (a, b) actual let inline _isBetween a b actual = __isBetween true a b actual ── pwsh ──────────────────────────────────────────────────────────────────────── ls ~/.nuget/packages/argu ╭─[ 202.06ms - stdout ]────────────────────────────────────────────────────────╮ │ 6.2.2 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #!import ../../lib/fsharp/Common.fs #!import ../../lib/fsharp/CommonFSharp.fs #!import ../../lib/fsharp/Async.fs #!import ../../lib/fsharp/AsyncSeq.fs #!import ../../lib/fsharp/Runtime.fs #!import ../../lib/fsharp/FileSystem.fs ── fsharp - import ───────────────────────────────────────────────────────────── #if !INTERACTIVE namespace Polyglot #endif module Common = #if !INTERACTIVE open Lib #endif let nl = System.Environment.NewLine let q = @"""" let inline cons head tail = head :: tail /// ## memoize let inline memoize fn = let result = lazy fn () fun () -> result.Value /// ## TraceLevel type TraceLevel = | Verbose | Debug | Info | Warning | Critical let inline _locals () = "" /// ## trace let to_trace_level = function | Verbose -> SpiralTrace.TraceLevel.US0_0 | Debug -> SpiralTrace.TraceLevel.US0_1 | Info -> SpiralTrace.TraceLevel.US0_2 | Warning -> SpiralTrace.TraceLevel.US0_3 | Critical -> SpiralTrace.TraceLevel.US0_4 let trace level fn locals = let level = level |> to_trace_level SpiralTrace.trace level fn locals ── fsharp - import ───────────────────────────────────────────────────────────── #if !INTERACTIVE namespace Polyglot #endif module CommonFSharp = open Common /// ## getUnionCaseName let inline getUnionCaseName<'T> (x: 'T) = match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with | case, _ -> case.Name ── fsharp - import ───────────────────────────────────────────────────────────── #if !INTERACTIVE namespace Polyglot #endif module Async = #if !INTERACTIVE open Lib #endif open Common /// ## choice let inline choice asyncs = async { let e = Event<_> () use cts = new System.Threading.CancellationTokenSource () let fn = asyncs |> Seq.map (fun a -> async { let! x = a e.Trigger x }) |> Async.Parallel |> Async.Ignore Async.Start (fn, cts.Token) let! result = Async.AwaitEvent e.Publish cts.Cancel () return result } /// ## map let inline map fn a = async { let! x = a return fn x } /// ## catch let inline catch a = a |> Async.Catch |> map (function | Choice1Of2 result -> Ok result | Choice2Of2 ex -> Error ex ) /// ## runWithTimeoutChoiceAsync let inline runWithTimeoutChoiceAsync (timeout : int) fn = let _locals () = $"timeout: {timeout} / {_locals ()}" let timeoutTask = async { do! Async.Sleep timeout trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals return None } let task = async { try let! result = fn return Some result with | :? System.AggregateException as ex when ex.InnerExceptions |> Seq.exists (function :? Sys... ── fsharp - import ───────────────────────────────────────────────────────────── #if !INTERACTIVE namespace Polyglot #endif module AsyncSeq = #if !INTERACTIVE open Lib #endif open Common /// ## subscribeEvent let inline subscribeEvent (event: IEvent<'H, 'A>) map = let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 'A>(event.AddHandler, event.RemoveHandler) System.Reactive.Linq.Observable.Select (observable, fun event -> map event.EventArgs) |> FSharp.Control.AsyncSeq.ofObservableBuffered /// ## subscribeToken let subscribeToken (token : System.Threading.CancellationToken) = let tcs = new System.Threading.Tasks.TaskCompletionSource () System.Action tcs.SetResult |> token.Register |> ignore let start = System.DateTime.Now.Ticks FSharp.Control.AsyncSeq.unfoldAsync (fun () -> async { do! tcs.Task |> Async.AwaitTask return Some (System.DateTime.Now.Ticks - start, ()) }) () ── fsharp - import ───────────────────────────────────────────────────────────── #if !INTERACTIVE namespace Polyglot #endif module Runtime = #if !INTERACTIVE open Lib #endif open Common /// ## parseArgs let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args = let assemblyName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name let errorHandler : Argu.IExiter = if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |> List.contains assemblyName then Argu.ExceptionExiter () else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | _ -> Some System.ConsoleColor.Red) let parser = Argu.ArgumentParser.Create<'T> ( programName = $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}", errorHandler = errorHandler ) parser.ParseCommandLine args let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args = args |> parseArgs<'T> |> fun results -> results.GetAllResults () let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args = args |> parseAllArgs<'T> |> List.groupBy CommonFSharp.getUnionCaseName<'T> |> Map.ofList ── fsharp - import ───────────────────────────────────────────────────────────── #if !INTERACTIVE namespace Polyglot #endif module FileSystem = #if !INTERACTIVE open Lib #endif open Common open SpiralFileSystem.Operators /// ## watchDirectory [[<RequireQualifiedAccess>]] type FileSystemChangeType = | Failure | Changed | Created | Deleted | Renamed [[<RequireQualifiedAccess>]] type FileSystemChange = | Failure of exn: exn | Changed of path: string * content: string option | Created of path: string * content: string option | Deleted of path: string | Renamed of oldPath: string * (string * string option) let inline watchDirectoryWithFilter filter shouldReadContent path = let fullPath = path |> System.IO.Path.GetFullPath let _locals () = $"filter: {filter} / {_locals ()}" let watcher = new System.IO.FileSystemWatcher ( Path = fullPath, NotifyFilter = filter, EnableRaisingEvents = true, IncludeSubdirectories = true ) let inline getEventPath (path : string) = path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |> SpiralSm.trim_start [[| '/'; '\\' |]] let inline ticks () = System.DateTime.UtcNow.Ticks let changedStream = AsyncSeq.subscribeEvent watcher.Changed (fun event -> ticks (), [[ FileSystemChange... ── fsharp ────────────────────────────────────────────────────────────────────── #if !INTERACTIVE open Lib #endif ── fsharp ────────────────────────────────────────────────────────────────────── open Common open FParsec ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## escapeCell (test) │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test let inline escapeCell input = input |> SpiralSm.split "\n" |> Array.map (function | line when line |> SpiralSm.starts_with "\\#!" || line |> SpiralSm.starts_with "\\#r" -> System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#") | line -> line ) |> SpiralSm.concat "\n" ── fsharp ────────────────────────────────────────────────────────────────────── //// test $"a{nl}\\#!magic{nl}b{nl}" |> escapeCell |> _assertEqual ( $"a{nl}#!magic{nl}b{nl}" ) ╭─[ 45.32ms - stdout ]─────────────────────────────────────────────────────────╮ │ "a │ │ #!magic │ │ b │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## magicMarker │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let magicMarker : Parser<string, unit> = pstring "#!" ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic" |> run magicMarker |> _assertEqual ( Success ("#!", (), Position ("", 2, 1, 3)) ) ╭─[ 27.41ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: "#!" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test "##!magic" |> run magicMarker |> _assertEqual ( Failure ( $"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}", ParserError ( Position ("", 0, 1, 1), (), ErrorMessageList (ExpectedString "#!") ), () ) ) ╭─[ 27.82ms - stdout ]─────────────────────────────────────────────────────────╮ │ Failure: │ │ Error in Ln: 1 Col: 1 │ │ ##!magic │ │ ^ │ │ Expecting: '#!' │ │ │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## magicCommand │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let magicCommand = magicMarker >>. manyTill anyChar newline |>> (System.String.Concat >> SpiralSm.trim) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic a" |> run magicCommand |> _assertEqual ( Success ("magic", (), Position ("", 8, 2, 1)) ) ╭─[ 17.77ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: "magic" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test " #!magic a" |> run magicCommand |> _assertEqual ( Failure ( $"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}", ParserError ( Position ("", 0, 1, 1), (), ErrorMessageList (ExpectedString "#!") ), () ) ) ╭─[ 18.90ms - stdout ]─────────────────────────────────────────────────────────╮ │ Failure: │ │ Error in Ln: 1 Col: 1 │ │ #!magic │ │ ^ │ │ Expecting: '#!' │ │ │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## content │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let content = (newline >>. magicMarker) <|> (eof >>. preturn "") |> attempt |> lookAhead |> manyTill anyChar |>> (System.String.Concat >> SpiralSm.trim) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic a " |> run content |> _assertEqual ( Success ("#!magic a", (), Position ("", 14, 7, 1)) ) ╭─[ 18.18ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: "#!magic │ │ │ │ │ │ a" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## Block │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type Block = { magic : string content : string } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## block │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let block = pipe2 magicCommand content (fun magic content -> { magic = magic content = content }) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic a " |> run block |> _assertEqual ( Success ( { magic = "magic"; content = "a" }, (), Position ("", 14, 7, 1) ) ) ╭─[ 22.12ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: { magic = "magic" │ │ content = "a" } │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## blocks │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let blocks = skipMany newline >>. sepEndBy block (skipMany1 newline) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic1 a \#!magic2 b " |> escapeCell |> run blocks |> _assertEqual ( Success ( [[ { magic = "magic1"; content = "a" } { magic = "magic2"; content = "b" } ]], (), Position ("", 26, 9, 1) ) ) ╭─[ 26.93ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: [{ magic = "magic1" │ │ content = "a" }; { magic = "magic2" │ │ content = "b" }] │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## Output │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type Output = | Fs | Md | Spi | Spir let inline kernelOutputs magic = match magic with | "fsharp" -> [[ Fs ]] | "markdown" -> [[ Md ]] | "spiral" -> [[ Spi; Spir ]] | _ -> [[]] ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## formatBlock │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline formatBlock output (block : Block) = match output, block with | output, { magic = "markdown"; content = content } -> let markdownComment = match output with | Spi | Spir -> "/// " | Fs -> "/// " | _ -> "" content |> SpiralSm.split "\n" |> Array.map (SpiralSm.trim_end [[||]]) |> Array.filter (SpiralSm.ends_with " (test)" >> not) |> Array.map (function | "" -> markdownComment | line -> System.Text.RegularExpressions.Regex.Replace (line, "^\\s*", $"$&{markdownComment}") ) |> SpiralSm.concat "\n" | Fs, { magic = "fsharp"; content = content } -> let trimmedContent = content |> SpiralSm.trim if trimmedContent |> SpiralSm.starts_with "//// test" || trimmedContent |> SpiralSm.starts_with "//// ignore" then "" else content |> SpiralSm.split "\n" |> Array.filter (SpiralSm.trim_start [[||]] >> SpiralSm.starts_with "#r" >> not) |> SpiralSm.concat "\n" | (Spi | Spir), { magic = "spiral"; content = content } -> let trimmedContent = content |> SpiralSm.trim if trimmedContent |> SpiralSm.starts_with "//// test" || trimmedContent |> SpiralSm.starts_with "//// ignore" then "" else content | _ -> "" ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!markdown a b c \#!markdown c \#!fsharp let a = 1" |> escapeCell |> run block |> function | Success (block, _, _) -> formatBlock Fs block | Failure (msg, _, _) -> failwith msg |> _assertEqual "/// a /// /// b /// /// c" ╭─[ 37.42ms - stdout ]─────────────────────────────────────────────────────────╮ │ "/// a │ │ /// │ │ /// b │ │ /// │ │ /// c" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## formatBlocks │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline formatBlocks output blocks = blocks |> List.map (fun block -> block, formatBlock output block ) |> List.filter (snd >> (<>) "") |> fun list -> (list, (None, [[]])) ||> List.foldBack (fun (block, content) (lastMagic, acc) -> let lineBreak = if block.magic = "markdown" && lastMagic <> Some "markdown" && lastMagic <> None then "" else "\n" Some block.magic, $"{content}{lineBreak}" :: acc ) |> snd |> SpiralSm.concat "\n" ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!markdown a b \#!markdown c \#!fsharp let a = 1 \#!markdown d (test) \#!fsharp //// test let a = 2 \#!markdown e \#!fsharp let a = 3" |> escapeCell |> run blocks |> function | Success (blocks, _, _) -> formatBlocks Fs blocks | Failure (msg, _, _) -> failwith msg |> _assertEqual "/// a /// /// b /// c let a = 1 /// e let a = 3 " ╭─[ 45.57ms - stdout ]─────────────────────────────────────────────────────────╮ │ "/// a │ │ /// │ │ /// b │ │ │ │ /// c │ │ let a = 1 │ │ │ │ /// e │ │ let a = 3 │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## parse │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline parse output input = match run blocks input with | Success (blocks, _, _) -> let blocks = blocks |> List.filter (fun block -> block.magic |> kernelOutputs |> List.contains output || block.magic = "markdown" ) match blocks with | { magic = "markdown"; content = content } :: _ when output = Fs && content |> SpiralSm.starts_with "# " && content |> SpiralSm.ends_with ")" -> let inline indentBlock (block : Block) = { block with content = block.content |> SpiralSm.split "\n" |> Array.fold (fun (lines, isMultiline) line -> let trimmedLine = line |> SpiralSm.trim if trimmedLine = "" then "" :: lines, isMultiline else let inline singleQuoteLine () = trimmedLine |> Seq.sumBy ((=) '"' >> System.Convert.ToInt32) = 1 && trimmedLine |> SpiralSm.contains @"'""'" |> not && trimmedLine |> SpiralSm.ends_with "{" |> not && trimmedLine |> SpiralSm.ends_with "{|" |> not && trimmedLine |> SpiralSm.starts_with "}" |> not && trimmedLine |> SpiralSm.starts_with "|}" |> not match isMultiline, trimmedLine |> SpiralSm.split_string [[| $"{q}{q}{q}" |]] with | false, [[| _; _ |]] -> $" {line}" :: lines, true | true, [[| _; _ |]] -> line :: lines, false | false, _ when singleQuoteLine () -> $" {line}" :: lines, true | false, _ when line |> SpiralSm.starts_with "#" && block.magic = "fsharp" -> line :: lines, false | false, _ -> $" {line}" :: lines, false | true, _ when singleQuoteLine () && line |> SpiralSm.starts_with " " -> $" {line}" :: lines, false | true, _ when singleQuoteLine () -> line :: lines, false | true, _ -> line :: lines, true ) ([[]], false) |> fst |> List.rev |> SpiralSm.concat "\n" } let moduleName, namespaceName = System.Text.RegularExpressions.Regex.Match (content, @"# (.*) \((.*)\)$") |> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value let moduleBlock = { magic = "fsharp" content = $"#if !INTERACTIVE namespace {namespaceName} #endif module {moduleName} =" } blocks |> List.indexed |> List.fold (fun blocks (index, block) -> match index with | 0 -> blocks | 1 -> indentBlock block :: moduleBlock :: blocks | _ -> indentBlock block :: blocks ) [[]] |> List.rev | _ -> blocks |> Result.Ok | Failure (errorMsg, _, _) -> Result.Error errorMsg ── fsharp ────────────────────────────────────────────────────────────────────── //// test let example1 = $"""#!meta {{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name": "fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}} \#!markdown # TestModule (TestNamespace) \#!fsharp \#!import file.dib \#!fsharp \#r "nuget:Expecto" \#!markdown ## ParserLibrary \#!fsharp open System \#!markdown ## x (test) \#!fsharp //// ignore let x = 1 \#!spiral //// test inl x = 0i32 \#!spiral inl x = 0i32 \#!markdown ### TextInput \#!fsharp let str1 = "abc def" let str2 = "abc\ def" let str3 = $"1{{ 1 }}1" let str4 = $"1{{({{| a = 1 |}}).a}}1" let str5 = "abc \ def" let x = match '"' with | '"' -> true | _ -> false let long1 = {q}{q}{q}a{q}{q}{q} let long2 = {q}{q}{q} a {q}{q}{q} \#!fsharp type Position = {{ #if INTERACTIVE line : string #else line : int #endif column : int }}""" |> escapeCell ── fsharp ────────────────────────────────────────────────────────────────────── //// test example1 |> parse Fs |> Result.toOption |> Option.get |> (formatBlocks Fs) |> _assertEqual $"""#if !INTERACTIVE namespace TestNamespace #endif module TestModule = /// ## ParserLibrary open System /// ### TextInput let str1 = "abc def" let str2 = "abc\ def" let str3 = $"1{{ 1 }}1" let str4 = $"1{{({{| a = 1 |}}).a}}1" let str5 = "abc \ def" let x = match '"' with | '"' -> true | _ -> false let long1 = {q}{q}{q}a{q}{q}{q} let long2 = {q}{q}{q} a {q}{q}{q} type Position = {{ #if INTERACTIVE line : string #else line : int #endif column : int }} """ ╭─[ 175.05ms - stdout ]────────────────────────────────────────────────────────╮ │ "#if !INTERACTIVE │ │ namespace TestNamespace │ │ #endif │ │ │ │ module TestModule = │ │ │ │ /// ## ParserLibrary │ │ open System │ │ │ │ /// ### TextInput │ │ let str1 = "abc │ │ def" │ │ │ │ let str2 = │ │ "abc\ │ │ def" │ │ │ │ let str3 = │ │ $"1{ │ │ 1 │ │ }1" │ │ │ │ let str4 = │ │ $"1{({| │ │ a = 1 │ │ |}).a}1" │ │ │ │ let str5 = │ │ "abc \ │ │ def" │ │ │ │ let x = │ │ match '"' with │ │ | '"' -> true │ │ | _ -> false │ │ │ │ let long1 = """a""" │ │ │ │ let long2 = │ │ """ │ │ a │ │ """ │ │ │ │ type Position = │ │ { │ │ #if INTERACTIVE │ │ line : string │ │ #else │ │ line : int │ │ #endif │ │ column : int │ │ } │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test example1 |> parse Md |> Result.toOption |> Option.get |> (formatBlocks Md) |> _assertEqual "# TestModule (TestNamespace) ## ParserLibrary ### TextInput " ╭─[ 113.61ms - stdout ]────────────────────────────────────────────────────────╮ │ "# TestModule (TestNamespace) │ │ │ │ ## ParserLibrary │ │ │ │ ### TextInput │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test example1 |> parse Spi |> Result.toOption |> Option.get |> (formatBlocks Spi) |> _assertEqual "/// # TestModule (TestNamespace) /// ## ParserLibrary inl x = 0i32 /// ### TextInput " ╭─[ 114.58ms - stdout ]────────────────────────────────────────────────────────╮ │ "/// # TestModule (TestNamespace) │ │ │ │ /// ## ParserLibrary │ │ inl x = 0i32 │ │ │ │ /// ### TextInput │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## parseDibCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline parseDibCode output file = async { trace Debug (fun () -> "parseDibCode") (fun () -> $"output: {output} / file: {file} / {_locals ()}") let! input = file |> SpiralFileSystem.read_all_text_async match parse output input with | Result.Ok blocks -> return blocks |> formatBlocks output | Result.Error msg -> return failwith msg } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## writeDibCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline writeDibCode output path = async { trace Debug (fun () -> "writeDibCode") (fun () -> $"output: {output} / path: {path} / {_locals ()}") let! result = parseDibCode output path let outputPath = path |> SpiralSm.replace ".dib" $".{output |> string |> SpiralSm.to_lower}" do! result |> SpiralFileSystem.write_all_text_async outputPath } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## Arguments │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── [[<RequireQualifiedAccess>]] type Arguments = | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]] File of file : string * Output interface Argu.IArgParserTemplate with member s.Usage = match s with | File _ -> nameof File ── fsharp ────────────────────────────────────────────────────────────────────── //// test Argu.ArgumentParser.Create<Arguments>().PrintUsage () ╭─[ 74.04ms - return value ]───────────────────────────────────────────────────╮ │ "USAGE: dotnet-repl [--help] <file> <fs|md|spi|spir> │ │ │ │ FILE: │ │ │ │ <file> <fs|md|spi|spir> │ │ File │ │ │ │ OPTIONS: │ │ │ │ --help display this list of options. │ │ " │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## main │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let main args = let argsMap = args |> Runtime.parseArgsMap<Arguments> let files = argsMap.[[nameof Arguments.File]] |> List.map (function | Arguments.File (path, output) -> path, output ) files |> List.map (fun (path, output) -> path |> writeDibCode output) |> Async.Parallel |> Async.Ignore |> Async.runWithTimeout 30000 |> function | Some () -> 0 | None -> 1 ── fsharp ────────────────────────────────────────────────────────────────────── //// test let args = System.Environment.GetEnvironmentVariable "ARGS" |> SpiralRuntime.split_args |> Seq.toArray match args with | [[||]] -> 0 | args -> if main args = 0 then 0 else failwith "main failed" ╭─[ 137.05ms - return value ]──────────────────────────────────────────────────╮ │ <div class="dni-plaintext"><pre>0 │ │ </pre></div><style> │ │ .dni-code-hint { │ │ font-style: italic; │ │ overflow: hidden; │ │ white-space: nowrap; │ │ } │ │ .dni-treeview { │ │ white-space: nowrap; │ │ } │ │ .dni-treeview td { │ │ vertical-align: top; │ │ text-align: start; │ │ } │ │ details.dni-treeview { │ │ padding-left: 1em; │ │ } │ │ table td { │ │ text-align: start; │ │ } │ │ table tr { │ │ vertical-align: top; │ │ margin: 0em 0px; │ │ } │ │ table tr td pre │ │ { │ │ vertical-align: top !important; │ │ margin: 0em 0px !important; │ │ } │ │ table th { │ │ text-align: start; │ │ } │ │ </style> │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─[ 138.56ms - stdout ]────────────────────────────────────────────────────────╮ │ 00:00:03 debug #1 writeDibCode / output: Fs / path: Builder.dib │ │ 00:00:03 debug #2 parseDibCode / output: Fs / file: Builder.dib │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Builder.dib"]) 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Builder (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp > NetCore.Html.Abstractions.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.Formatting.dll" > open System > open System.IO > open System.Text > open Microsoft.DotNet.Interactive.Formatting > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > open type Microsoft.DotNet.Interactive.Kernel > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer: > TextWriter)->fprintfn writer "%120A" x) > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Notebooks.dib > #!import ../../lib/fsharp/Testing.dib > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > Formatter.ListExpansionLimit <- 100 > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]] > #endif > type Mut<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Co... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]] > #endif > type async_std_task_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]] > #endif > type std_future_Future<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]] > #endif > type rayon_vec_IntoIter<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]] > #endif > type rayon_iter_Map<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]] > #endif > type futures_lite_stream_StreamExt = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]] > #endif > type futures_future_TryJoinAll<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]] > #endif > type futures_future_Fuse<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]] > #endif > type futures_future_JoinAll<'T> = class end > let rec closure0 () (v0 : System.Threading.CancellationToken) : > Async<System.Threading.CancellationToken> = > let v1 : bool = true > let mutable _v1 : Async<System.Threading.CancellationToken> option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT > let v2 : Async<System.Threading.CancellationToken> = null |> > unbox<Async<System... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]] > #endif > type std_thread_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]] > #endif > type std_sync_Arc<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]] > #endif > type std_sync_Mutex<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]] > #endif > type std_sync_MutexGuard<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]] > #endif > type std_sync_PoisonError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]] > #endif > type std_sync_mpsc_Receiver<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]] > #endif > type std_sync_mpsc_SendError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]] > #endif > type std_sync_mpsc_Sender<'T> = class end > type Disposable (f : unit -> unit) = interface System.IDisposable with member > _.Dispose () = f () > type [[<Struct>]] US0 = > | US0_0 of f0_0 : System.Threading.CancellationToken > | US0_1 > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit = > let v1 : bool = true > let mutable _v1 : unit option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]] > #endif > type reqwest_Error = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]] > #endif > type reqwest_RequestBuilder = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]] > #endif > type reqwest_Response = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]] > #endif > type clap_Arg = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]] > #endif > type clap_ArgAction = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]] > #endif > type clap_Command = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]] > #endif > type clap_ArgMatches = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]] > #endif > type clap_builder_ValueRange = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]] > #endif > type clap_builder_ValueParser = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]] > #endif > type clap_builder_PossibleValue = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]] > #endif > type std_process_Child = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]] > #endif > type std_process_ChildStderr = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]] > #endif > type std_process_ChildStdout = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]] > #endif > type std_process_ChildStdin = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]] > #endif > type std_process_Command = class ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]] > #endif > type std_fs_File = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]] > #endif > type std_fs_FileType = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]] > #endif > type std_path_Display = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]] > #endif > type std_path_Path = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]] > #endif > type std_path_PathBuf = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]] > #endif > type async_walkdir_DirEntry = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]] > #endif > type async_walkdir_Filtering = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]] > #endif > type async_walkdir_WalkDir = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = clas... > > ── fsharp - import ───────────────────────────────────────────────────────────── > module SpiralTrace = > let trace x = > #if !INTERACTIVE > Trace.trace x > #else > trace x > #endif > > type TraceLevel = > #if !INTERACTIVE > Trace.US0 > #else > US0 > #endif > > module SpiralCrypto = > let hash_text x = > #if !INTERACTIVE > Crypto.hash_text x > #else > hash_text x > #endif > > #if !FABLE_COMPILER && !WASM && !CONTRACT > > module SpiralAsync = > let merge_cancellation_token_with_default_async x = > #if !INTERACTIVE > Async_.merge_cancellation_token_with_default_async x > #else > merge_cancellation_token_with_default_async x > #endif > > module SpiralThreading = > let new_disposable_token x = > #if !INTERACTIVE > Threading.new_disposable_token x > #else > new_disposable_token x > #endif > > module SpiralNetworking = > let test_port_open x = > #if !INTERACTIVE > Networking.test_port_open x > #else > test_port_open x > #endif > > let test_port_open_timeout x = > #if !INTERACTIVE > Networking.test_port_open_timeout x > #else > test_port_open_timeout x > #endif > > let wait_for_port_access x = > #if !INTERACTIVE > Networking.wait_for_port_access x > #else > wait_for_port_access x > #endif > > let get_available_port x = > #if !INTERACTIVE > Networking.get_available_port x > #else > get_available_port x > #endif > > module SpiralRuntime = > let get_executable_suffix () = > #if !INTERACTIVE > Runtime.get_executable_suffix () > #else > get_executable_suffix () > #endif > > let is_windows () = > #if !INTERACTIVE > ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > type AssertExceptionFormatter (ex) = > member _.Text = > ex.ToString() > .Replace("32m", "<span style=\"color: green;\">") > .Replace("36m", "</span>") > .Replace("31m", "<span style=\"color: red;\">") > .Replace("\n", "<br/>\n") > > > Formatter.Register<AssertExceptionFormatter> ((fun (x : > AssertExceptionFormatter) -> x.Text), "text/html") > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __expect fn log expected actual = > if log then printfn $"{actual.ToDisplayString ()}" > try > "Testing.__expect" |> fn actual expected > with :? Expecto.AssertException as ex -> > AssertExceptionFormatter(ex).Display () |> ignore > failwith (ex.GetType().FullName) > > let inline __contains log expected actual = __expect Expecto.Expect.contains log > expected actual > let inline _contains expected actual = __contains true expected actual > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log > expected actual > let inline _assertEqual expected actual = __assertEqual true expected actual > > let inline __isGreaterThan log expected actual = __expect > Expecto.Expect.isGreaterThan log expected actual > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual > > let inline __isGreaterThanOrEqual log expected actual = __expect > Expecto.Expect.isGreaterThanOrEqual log expected actual > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true > expected actual > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan > log expected actual > let inline _isLessThan expected actual = __isLessThan true expected actual > > let inline __isLessThanOrEqual log expected actual = __expect > Expecto.Expect.isLessThanOrEqual log expected actual > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true > expected actual > > let inline __sequenceEqual log expected actual = __expe... > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __isBetween log a b actual = > let inline isBetween actual (a, b) _ = > __isGreaterThanOrEqual log a actual > __isLessThanOrEqual log b actual > __expect isBetween log (a, b) actual > let inline _isBetween a b actual = __isBetween true a b actual > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Common.fs > #!import ../../lib/fsharp/CommonFSharp.fs > #!import ../../lib/fsharp/Async.fs > #!import ../../lib/fsharp/AsyncSeq.fs > #!import ../../lib/fsharp/Runtime.fs > #!import ../../lib/fsharp/FileSystem.fs > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Common = > > #if !INTERACTIVE > open Lib > #endif > > let nl = System.Environment.NewLine > let q = @"""" > > let inline cons head tail = head :: tail > > /// ## memoize > let inline memoize fn = > let result = lazy fn () > fun () -> result.Value > > /// ## TraceLevel > type TraceLevel = > | Verbose > | Debug > | Info > | Warning > | Critical > > let inline _locals () = "" > > /// ## trace > let to_trace_level = function > | Verbose -> SpiralTrace.TraceLevel.US0_0 > | Debug -> SpiralTrace.TraceLevel.US0_1 > | Info -> SpiralTrace.TraceLevel.US0_2 > | Warning -> SpiralTrace.TraceLevel.US0_3 > | Critical -> SpiralTrace.TraceLevel.US0_4 > > let trace level fn locals = > let level = level |> to_trace_level > SpiralTrace.trace level fn locals > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module CommonFSharp = > > open Common > > /// ## getUnionCaseName > let inline getUnionCaseName<'T> (x: 'T) = > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with > | case, _ -> case.Name > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Async = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## choice > let inline choice asyncs = async { > let e = Event<_> () > use cts = new System.Threading.CancellationTokenSource () > let fn = > asyncs > |> Seq.map (fun a -> async { > let! x = a > e.Trigger x > }) > |> Async.Parallel > |> Async.Ignore > Async.Start (fn, cts.Token) > let! result = Async.AwaitEvent e.Publish > cts.Cancel () > return result > } > > /// ## map > let inline map fn a = async { > let! x = a > return fn x > } > > /// ## catch > let inline catch a = > a > |> Async.Catch > |> map (function > | Choice1Of2 result -> Ok result > | Choice2Of2 ex -> Error ex > ) > > /// ## runWithTimeoutChoiceAsync > let inline runWithTimeoutChoiceAsync (timeout : int) fn = > let _locals () = $"timeout: {timeout} / {_locals ()}" > > let timeoutTask = async { > do! Async.Sleep timeout > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals > return None > } > > let task = async { > try > let! result = fn > return Some result > with > | :? System.AggregateException as ex when > ex.InnerExceptions > |> Seq.exists (function :? Sys... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module AsyncSeq = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## subscribeEvent > let inline subscribeEvent (event: IEvent<'H, 'A>) map = > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, > 'A>(event.AddHandler, event.RemoveHandler) > System.Reactive.Linq.Observable.Select (observable, fun event -> map > event.EventArgs) > |> FSharp.Control.AsyncSeq.ofObservableBuffered > > /// ## subscribeToken > let subscribeToken (token : System.Threading.CancellationToken) = > let tcs = new System.Threading.Tasks.TaskCompletionSource () > System.Action tcs.SetResult |> token.Register |> ignore > let start = System.DateTime.Now.Ticks > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > do! tcs.Task |> Async.AwaitTask > return Some (System.DateTime.Now.Ticks - start, ()) > }) > () > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Runtime = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## parseArgs > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args = > let assemblyName = > System.Reflection.Assembly.GetEntryAssembly().GetName().Name > let errorHandler : Argu.IExiter = > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |> > List.contains assemblyName > then Argu.ExceptionExiter () > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | > _ -> Some System.ConsoleColor.Red) > > let parser = > Argu.ArgumentParser.Create<'T> ( > programName = > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}", > errorHandler = errorHandler > ) > > parser.ParseCommandLine args > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseArgs<'T> > |> fun results -> results.GetAllResults () > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseAllArgs<'T> > |> List.groupBy CommonFSharp.getUnionCaseName<'T> > |> Map.ofList > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module FileSystem = > > #if !INTERACTIVE > open Lib > #endif > > open Common > open SpiralFileSystem.Operators > > /// ## watchDirectory > [[<RequireQualifiedAccess>]] > type FileSystemChangeType = > | Failure > | Changed > | Created > | Deleted > | Renamed > > [[<RequireQualifiedAccess>]] > type FileSystemChange = > | Failure of exn: exn > | Changed of path: string * content: string option > | Created of path: string * content: string option > | Deleted of path: string > | Renamed of oldPath: string * (string * string option) > > > let inline watchDirectoryWithFilter filter shouldReadContent path = > let fullPath = path |> System.IO.Path.GetFullPath > let _locals () = $"filter: {filter} / {_locals ()}" > > let watcher = > new System.IO.FileSystemWatcher ( > Path = fullPath, > NotifyFilter = filter, > EnableRaisingEvents = true, > IncludeSubdirectories = true > ) > > let inline getEventPath (path : string) = > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |> > SpiralSm.trim_start [[| '/'; '\\' |]] > > let inline ticks () = > System.DateTime.UtcNow.Ticks > > let changedStream = > AsyncSeq.subscribeEvent > watcher.Changed > (fun event -> > ticks (), > [[ FileSystemChange... > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildProject │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildProject runtime outputDir path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > let extension = fullPath |> System.IO.Path.GetExtension > > trace Debug > (fun () -> "buildProject") > (fun () -> $"fullPath: {fullPath} / {_locals ()}") > > match extension with > | ".fsproj" -> () > | _ -> failwith "Invalid project file" > > let runtimes = > runtime > |> Option.map List.singleton > |> Option.defaultValue [[ "linux-x64"; "win-x64" ]] > > let outputDir = outputDir |> Option.defaultValue "dist" > > return! > runtimes > |> List.map (fun runtime -> async { > let command = $@"dotnet publish ""{path}"" --configuration Release > --output ""{outputDir}"" --runtime {runtime}" > let! exitCode, _result = > SpiralRuntime.execution_options (fun x -> > { x with > l1 = command > l6 = Some fileDir > } > ) > |> SpiralRuntime.execute_with_options_async > return exitCode > }) > |> Async.Sequential > |> Async.map Array.sum > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## persistCodeProject │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistCodeProject packages modules name hash code = async { > trace Debug > (fun () -> "persistCodeProject") > (fun () -> $"packages: {packages} / modules: {modules} / name: {name} / > hash: {hash} / code.Length: {code |> String.length} / {_locals ()}") > > let workspaceRoot = SpiralFileSystem.get_workspace_root () > > let targetDir = > let targetDir = workspaceRoot </> "target/polyglot/builder" </> name > match hash with > | Some hash -> targetDir </> "packages" </> hash > | None -> targetDir > System.IO.Directory.CreateDirectory targetDir |> ignore > > let filePath = targetDir </> $"{name}.fs" |> System.IO.Path.GetFullPath > do! code |> SpiralFileSystem.write_all_text_exists filePath > > let modulesCode = > modules > |> List.map (fun path -> $"""<Compile Include="{workspaceRoot </> path}" > />""") > |> SpiralSm.concat "\n " > > let fsprojPath = targetDir </> $"{name}.fsproj" > let fsprojCode = $"""<Project Sdk="Microsoft.NET.Sdk"> > <PropertyGroup> > <TargetFramework>net9.0</TargetFramework> > <LangVersion>preview</LangVersion> > <RollForward>Major</RollForward> > <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> > <PublishAot>false</PublishAot> > <PublishTrimmed>false</PublishTrimmed> > <PublishSingleFile>true</PublishSingleFile> > <SelfContained>true</SelfContained> > <Version>0.0.1-alpha.1</Version> > <OutputType>Exe</OutputType> > </PropertyGroup> > > <ItemGroup> > {modulesCode} > <Compile Include="{filePath}" /> > </ItemGroup> > > <Import Project="{workspaceRoot}/.paket/Paket.Restore.targets" /> > </Project> > """ > do! fsprojCode |> SpiralFileSystem.write_all_text_exists fsprojPath > > let paketReferencesPath = targetDir </> "paket.references" > let paketReferencesCode = > "FSharp.Core" :: packages > |> SpiralSm.concat "\n" > do! paketReferencesCode |> SpiralFileSystem.write_all_text_exists > paketReferencesPath > > return fsprojPath > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildCode runtime packages modules outputDir name code = async { > let! fsprojPath = code |> persistCodeProject packages modules name None > let! exitCode = fsprojPath |> buildProject runtime outputDir > if exitCode > 0 then > let! fsprojText = fsprojPath |> SpiralFileSystem.read_all_text_async > trace Critical > (fun () -> "buildCode") > (fun () -> $"code: {code |> SpiralSm.ellipsis_end 400} / fsprojText: > {fsprojText} / {_locals ()}") > return exitCode > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "1 + 1 |> ignore" > |> buildCode None [[]] [[]] None "test1" > |> Async.runWithTimeout 180000 > |> _assertEqual (Some 0) > > ╭─[ 8.49s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:01 debug #1 persistCodeProject / packages: [] / modules: [] / name: │ > │ test1 / hash: / code.Length: 15 │ > │ 00:00:01 debug #2 buildProject / fullPath: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj │ > │ 00:00:03 debug #1 execute_with_options_async / options: struct (None, │ > │ "dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fsp │ > │ roj" --configuration Release --output "dist" --runtime linux-x64", │ > │ [||], None, None, true, │ > │ Some │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test1") │ > │ 00:00:04 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for │ > │ .NET │ > │ 00:00:04 verbose #3 > Determining projects to restore... │ > │ 00:00:04 verbose #4 > Paket version │ > │ 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │ > │ 00:00:04 verbose #5 > The last full restore is still up to date. Nothing │ > │ left to do. │ > │ 00:00:04 verbose #6 > Total time taken: 0 milliseconds │ > │ 00:00:05 verbose #7 > Paket version │ > │ 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │ > │ 00:00:05 verbose #8 > Restoring │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj │ > │ 00:00:05 verbose #9 > Starting restore process. │ > │ 00:00:06 verbose #10 > Total time taken: 0 milliseconds │ > │ 00:00:06 verbose #11 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj (in 284 ms). │ > │ 00:00:06 verbose #12 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj] │ > │ 00:00:08 verbose #13 > │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fs(1 │ > │ ,16): warning FS0988: Main module of program is empty: nothing will happen │ > │ when it is run [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj] │ > │ 00:00:08 verbose #14 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/bin/Releas │ > │ e/net9.0/linux-x64/test1.dll │ > │ 00:00:09 verbose #15 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/dist │ > │ 00:00:09 debug #16 execute_with_options_async / exit_code: 0 / │ > │ output.Length: 1363 │ > │ 00:00:09 debug #17 execute_with_options_async / options: struct (None, │ > │ "dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fsp │ > │ roj" --configuration Release --output "dist" --runtime win-x64", │ > │ [||], None, None, true, │ > │ Some │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test1") │ > │ 00:00:09 verbose #18 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f │ > │ for .NET │ > │ 00:00:09 verbose #19 > Determining projects to restore... │ > │ 00:00:10 verbose #20 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj (in 254 ms). │ > │ 00:00:10 verbose #21 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj] │ > │ 00:00:11 verbose #22 > │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fs(1 │ > │ ,16): warning FS0988: Main module of program is empty: nothing will happen │ > │ when it is run [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/test1.fspr │ > │ oj] │ > │ 00:00:11 verbose #23 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/bin/Releas │ > │ e/net9.0/win-x64/test1.dll │ > │ 00:00:12 verbose #24 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test1/dist │ > │ 00:00:12 debug #25 execute_with_options_async / exit_code: 0 / │ > │ output.Length: 963 │ > │ Some 0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "1 + a |> ignore" > |> buildCode None [[]] [[]] None "test2" > |> Async.runWithTimeout 180000 > |> _assertEqual (Some 2) > > ╭─[ 5.89s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:10 debug #3 persistCodeProject / packages: [] / modules: [] / name: │ > │ test2 / hash: / code.Length: 15 │ > │ 00:00:10 debug #4 buildProject / fullPath: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj │ > │ 00:00:12 debug #26 execute_with_options_async / options: struct (None, │ > │ "dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fsp │ > │ roj" --configuration Release --output "dist" --runtime linux-x64", │ > │ [||], None, None, true, │ > │ Some │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test2") │ > │ 00:00:12 verbose #27 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f │ > │ for .NET │ > │ 00:00:12 verbose #28 > Determining projects to restore... │ > │ 00:00:13 verbose #29 > Paket version │ > │ 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │ > │ 00:00:13 verbose #30 > The last full restore is still up to date. Nothing │ > │ left to do. │ > │ 00:00:13 verbose #31 > Total time taken: 0 milliseconds │ > │ 00:00:13 verbose #32 > Paket version │ > │ 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │ > │ 00:00:13 verbose #33 > Restoring │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj │ > │ 00:00:13 verbose #34 > Starting restore process. │ > │ 00:00:14 verbose #35 > Total time taken: 0 milliseconds │ > │ 00:00:14 verbose #36 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj (in 259 ms). │ > │ 00:00:14 verbose #37 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj] │ > │ 00:00:15 verbose #38 > │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fs(1 │ > │ ,5): error FS0039: The value or constructor 'a' is not defined. [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj] │ > │ 00:00:15 debug #39 execute_with_options_async / exit_code: 1 / │ > │ output.Length: 1138 │ > │ 00:00:15 debug #40 execute_with_options_async / options: struct (None, │ > │ "dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fsp │ > │ roj" --configuration Release --output "dist" --runtime win-x64", │ > │ [||], None, None, true, │ > │ Some │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/test2") │ > │ 00:00:15 verbose #41 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f │ > │ for .NET │ > │ 00:00:16 verbose #42 > Determining projects to restore... │ > │ 00:00:16 verbose #43 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj (in 277 ms). │ > │ 00:00:17 verbose #44 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj] │ > │ 00:00:18 verbose #45 > │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fs(1 │ > │ ,5): error FS0039: The value or constructor 'a' is not defined. [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/test2.fspr │ > │ oj] │ > │ 00:00:18 debug #46 execute_with_options_async / exit_code: 1 / │ > │ output.Length: 740 │ > │ 00:00:16 critical #5 buildCode / code: 1 + a |> ignore / fsprojText: │ > │ <Project Sdk="Microsoft.NET.Sdk"> │ > │ <PropertyGroup> │ > │ <TargetFramework>net9.0</TargetFramework> │ > │ <LangVersion>preview</LangVersion> │ > │ <RollForward>Major</RollForward> │ > │ <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> │ > │ <PublishAot>false</PublishAot> │ > │ <PublishTrimmed>false</PublishTrimmed> │ > │ <PublishSingleFile>true</PublishSingleFile> │ > │ <SelfContained>true</SelfContained> │ > │ <Version>0.0.1-alpha.1</Version> │ > │ <OutputType>Exe</OutputType> │ > │ </PropertyGroup> │ > │ │ > │ <ItemGroup> │ > │ │ > │ <Compile │ > │ Include="/home/runner/work/polyglot/polyglot/target/polyglot/builder/test2/t │ > │ est2.fs" /> │ > │ </ItemGroup> │ > │ │ > │ <Import │ > │ Project="/home/runner/work/polyglot/polyglot/.paket/Paket.Restore.targets" │ > │ /> │ > │ </Project> │ > │ │ > │ Some 2 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## readFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline readFile path = async { > let! code = path |> SpiralFileSystem.read_all_text_async > > let code = System.Text.RegularExpressions.Regex.Replace ( > code, > @"( *)(let\s+main\s+.*?\s*=)", > fun m -> m.Groups.[[1]].Value + "[[<EntryPoint>]]\n" + > m.Groups.[[1]].Value + m.Groups.[[2]].Value > ) > > let codeTrim = code |> SpiralSm.trim_end [[||]] > return > if codeTrim |> SpiralSm.ends_with "\n()" > then codeTrim |> SpiralSm.slice 0 ((codeTrim |> String.length) - 3) > else code > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildFile runtime packages modules path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let dir = fullPath |> System.IO.Path.GetDirectoryName > let name = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> readFile > return! code |> buildCode runtime packages modules (dir </> "dist" |> Some) > name > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## persistFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistFile packages modules path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let name = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> readFile > return! code |> persistCodeProject packages modules name None > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Arguments │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > [[<RequireQualifiedAccess>]] > type Arguments = > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce>]] > Path of path : string > | [[<Argu.ArguAttributes.Unique>]] Packages of packages : string list > | [[<Argu.ArguAttributes.Unique>]] Modules of modules : string list > | [[<Argu.ArguAttributes.Unique>]] Runtime of runtime : string > | [[<Argu.ArguAttributes.Unique>]] Persist_Only > > interface Argu.IArgParserTemplate with > member s.Usage = > match s with > | Path _ -> nameof Path > | Packages _ -> nameof Packages > | Modules _ -> nameof Modules > | Runtime _ -> nameof Runtime > | Persist_Only -> nameof Persist_Only > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () > > ╭─[ 84.43ms - return value ]───────────────────────────────────────────────────╮ > │ "USAGE: dotnet-repl [--help] [--packages [<packages>...]] │ > │ [--modules [<modules>...]] [--runtime <runtime>] │ > │ [--persist-only] <path> │ > │ │ > │ PATH: │ > │ │ > │ <path> Path │ > │ │ > │ OPTIONS: │ > │ │ > │ --packages [<packages>...] │ > │ Packages │ > │ --modules [<modules>...] │ > │ Modules │ > │ --runtime <runtime> Runtime │ > │ --persist-only Persist_Only │ > │ --help display this list of options. │ > │ " │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## main │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let main args = > let argsMap = args |> Runtime.parseArgsMap<Arguments> > > let path = > match argsMap.[[nameof Arguments.Path]] with > | [[ Arguments.Path path ]] -> Some path > | _ -> None > |> Option.get > > let packages = > match argsMap |> Map.tryFind (nameof Arguments.Packages) with > | Some [[ Arguments.Packages packages ]] -> packages > | _ -> [[]] > > let modules = > match argsMap |> Map.tryFind (nameof Arguments.Modules) with > | Some [[ Arguments.Modules modules ]] -> modules > | _ -> [[]] > > let runtime = > match argsMap |> Map.tryFind (nameof Arguments.Runtime) with > | Some [[ Arguments.Runtime runtime ]] -> Some runtime > | _ -> None > > let persistOnly = argsMap |> Map.containsKey (nameof Arguments.Persist_Only) > > if persistOnly > then path |> persistFile packages modules |> Async.map (fun _ -> 0) > else path |> buildFile runtime packages modules > |> Async.runWithTimeout (60000 * 60) > |> function > | Some exitCode -> exitCode > | None -> 1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let args = > System.Environment.GetEnvironmentVariable "ARGS" > |> SpiralRuntime.split_args > |> Seq.toArray > > match args with > | [[||]] -> 0 > | args -> if main args = 0 then 0 else failwith "main failed" > > ╭─[ 10.10s - return value ]────────────────────────────────────────────────────╮ > │ <div class="dni-plaintext"><pre>0 │ > │ </pre></div><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 10.10s - stdout ]──────────────────────────────────────────────────────────╮ > │ 00:00:16 debug #6 persistCodeProject / packages: [Argu; │ > │ FSharp.Control.AsyncSeq; System.Reactive.Linq] / modules: [ │ > │ lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / │ > │ name: Builder / hash: / code.Length: 7651 │ > │ 00:00:16 debug #7 buildProject / fullPath: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/Builder/Builder. │ > │ fsproj │ > │ 00:00:18 debug #47 execute_with_options_async / options: struct (None, │ > │ "dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/Builder/Builder │ > │ .fsproj" --configuration Release --output │ > │ "/home/runner/work/polyglot/polyglot/apps/builder/dist" --runtime │ > │ linux-x64", │ > │ [||], None, None, true, │ > │ Some │ > │ │ > │ "/home/runner/work/polyglot/polyglot/target/polyglot/builder/Builder") │ > │ 00:00:18 verbose #48 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f │ > │ for .NET │ > │ 00:00:19 verbose #49 > Determining projects to restore... │ > │ 00:00:19 verbose #50 > Paket version │ > │ 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │ > │ 00:00:19 verbose #51 > The last full restore is still up to date. Nothing │ > │ left to do. │ > │ 00:00:19 verbose #52 > Total time taken: 0 milliseconds │ > │ 00:00:19 verbose #53 > Paket version │ > │ 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │ > │ 00:00:20 verbose #54 > Restoring │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/Builder/Builder. │ > │ fsproj │ > │ 00:00:20 verbose #55 > Starting restore process. │ > │ 00:00:20 verbose #56 > Total time taken: 0 milliseconds │ > │ 00:00:20 verbose #57 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/Builder/Builder. │ > │ fsproj (in 290 ms). │ > │ 00:00:21 verbose #58 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/Builder/Builder. │ > │ fsproj] │ > │ 00:00:28 verbose #59 > Builder -> │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/builder/Builder/bin/Rele │ > │ ase/net9.0/linux-x64/Builder.dll │ > │ 00:00:28 verbose #60 > Builder -> │ > │ /home/runner/work/polyglot/polyglot/apps/builder/dist │ > │ 00:00:28 debug #61 execute_with_options_async / exit_code: 0 / │ > │ output.Length: 1119 │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 69444 00:00:38 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None) 00:00:38 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb to html 00:00:38 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:38 verbose #7 ! validate(nb) 00:00:39 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:39 verbose #9 ! return _pygments_highlight( 00:00:39 verbose #10 ! [NbConvertApp] Writing 331772 bytes to /home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.html 00:00:39 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 902 00:00:39 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 902 00:00:39 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None) 00:00:39 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0 00:00:39 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0 00:00:39 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 70405
In [ ]:
{ pwsh ../apps/parser/build.ps1 } | Invoke-Block
00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "DibParser.dib"]) 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # DibParser (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP > arsec.dll" > #r > @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP > arsecCS.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp > NetCore.Html.Abstractions.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.Formatting.dll" > open System > open System.IO > open System.Text > open Microsoft.DotNet.Interactive.Formatting > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > open type Microsoft.DotNet.Interactive.Kernel > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer: > TextWriter)->fprintfn writer "%120A" x) > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Notebooks.dib > #!import ../../lib/fsharp/Testing.dib > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > Formatter.ListExpansionLimit <- 100 > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]] > #endif > type Mut<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Co... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]] > #endif > type async_std_task_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]] > #endif > type std_future_Future<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]] > #endif > type rayon_vec_IntoIter<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]] > #endif > type rayon_iter_Map<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]] > #endif > type futures_lite_stream_StreamExt = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]] > #endif > type futures_future_TryJoinAll<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]] > #endif > type futures_future_Fuse<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]] > #endif > type futures_future_JoinAll<'T> = class end > let rec closure0 () (v0 : System.Threading.CancellationToken) : > Async<System.Threading.CancellationToken> = > let v1 : bool = true > let mutable _v1 : Async<System.Threading.CancellationToken> option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT > let v2 : Async<System.Threading.CancellationToken> = null |> > unbox<Async<System... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]] > #endif > type std_thread_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]] > #endif > type std_sync_Arc<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]] > #endif > type std_sync_Mutex<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]] > #endif > type std_sync_MutexGuard<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]] > #endif > type std_sync_PoisonError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]] > #endif > type std_sync_mpsc_Receiver<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]] > #endif > type std_sync_mpsc_SendError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]] > #endif > type std_sync_mpsc_Sender<'T> = class end > type Disposable (f : unit -> unit) = interface System.IDisposable with member > _.Dispose () = f () > type [[<Struct>]] US0 = > | US0_0 of f0_0 : System.Threading.CancellationToken > | US0_1 > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit = > let v1 : bool = true > let mutable _v1 : unit option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]] > #endif > type reqwest_Error = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]] > #endif > type reqwest_RequestBuilder = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]] > #endif > type reqwest_Response = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]] > #endif > type clap_Arg = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]] > #endif > type clap_ArgAction = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]] > #endif > type clap_Command = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]] > #endif > type clap_ArgMatches = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]] > #endif > type clap_builder_ValueRange = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]] > #endif > type clap_builder_ValueParser = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]] > #endif > type clap_builder_PossibleValue = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]] > #endif > type std_process_Child = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]] > #endif > type std_process_ChildStderr = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]] > #endif > type std_process_ChildStdout = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]] > #endif > type std_process_ChildStdin = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]] > #endif > type std_process_Command = class ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]] > #endif > type std_fs_File = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]] > #endif > type std_fs_FileType = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]] > #endif > type std_path_Display = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]] > #endif > type std_path_Path = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]] > #endif > type std_path_PathBuf = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]] > #endif > type async_walkdir_DirEntry = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]] > #endif > type async_walkdir_Filtering = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]] > #endif > type async_walkdir_WalkDir = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = clas... > > ── fsharp - import ───────────────────────────────────────────────────────────── > module SpiralTrace = > let trace x = > #if !INTERACTIVE > Trace.trace x > #else > trace x > #endif > > type TraceLevel = > #if !INTERACTIVE > Trace.US0 > #else > US0 > #endif > > module SpiralCrypto = > let hash_text x = > #if !INTERACTIVE > Crypto.hash_text x > #else > hash_text x > #endif > > #if !FABLE_COMPILER && !WASM && !CONTRACT > > module SpiralAsync = > let merge_cancellation_token_with_default_async x = > #if !INTERACTIVE > Async_.merge_cancellation_token_with_default_async x > #else > merge_cancellation_token_with_default_async x > #endif > > module SpiralThreading = > let new_disposable_token x = > #if !INTERACTIVE > Threading.new_disposable_token x > #else > new_disposable_token x > #endif > > module SpiralNetworking = > let test_port_open x = > #if !INTERACTIVE > Networking.test_port_open x > #else > test_port_open x > #endif > > let test_port_open_timeout x = > #if !INTERACTIVE > Networking.test_port_open_timeout x > #else > test_port_open_timeout x > #endif > > let wait_for_port_access x = > #if !INTERACTIVE > Networking.wait_for_port_access x > #else > wait_for_port_access x > #endif > > let get_available_port x = > #if !INTERACTIVE > Networking.get_available_port x > #else > get_available_port x > #endif > > module SpiralRuntime = > let get_executable_suffix () = > #if !INTERACTIVE > Runtime.get_executable_suffix () > #else > get_executable_suffix () > #endif > > let is_windows () = > #if !INTERACTIVE > ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > type AssertExceptionFormatter (ex) = > member _.Text = > ex.ToString() > .Replace("32m", "<span style=\"color: green;\">") > .Replace("36m", "</span>") > .Replace("31m", "<span style=\"color: red;\">") > .Replace("\n", "<br/>\n") > > > Formatter.Register<AssertExceptionFormatter> ((fun (x : > AssertExceptionFormatter) -> x.Text), "text/html") > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __expect fn log expected actual = > if log then printfn $"{actual.ToDisplayString ()}" > try > "Testing.__expect" |> fn actual expected > with :? Expecto.AssertException as ex -> > AssertExceptionFormatter(ex).Display () |> ignore > failwith (ex.GetType().FullName) > > let inline __contains log expected actual = __expect Expecto.Expect.contains log > expected actual > let inline _contains expected actual = __contains true expected actual > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log > expected actual > let inline _assertEqual expected actual = __assertEqual true expected actual > > let inline __isGreaterThan log expected actual = __expect > Expecto.Expect.isGreaterThan log expected actual > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual > > let inline __isGreaterThanOrEqual log expected actual = __expect > Expecto.Expect.isGreaterThanOrEqual log expected actual > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true > expected actual > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan > log expected actual > let inline _isLessThan expected actual = __isLessThan true expected actual > > let inline __isLessThanOrEqual log expected actual = __expect > Expecto.Expect.isLessThanOrEqual log expected actual > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true > expected actual > > let inline __sequenceEqual log expected actual = __expe... > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __isBetween log a b actual = > let inline isBetween actual (a, b) _ = > __isGreaterThanOrEqual log a actual > __isLessThanOrEqual log b actual > __expect isBetween log (a, b) actual > let inline _isBetween a b actual = __isBetween true a b actual > > ── pwsh ──────────────────────────────────────────────────────────────────────── > ls ~/.nuget/packages/argu > > ╭─[ 203.66ms - stdout ]────────────────────────────────────────────────────────╮ > │ 6.2.2 │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Common.fs > #!import ../../lib/fsharp/CommonFSharp.fs > #!import ../../lib/fsharp/Async.fs > #!import ../../lib/fsharp/AsyncSeq.fs > #!import ../../lib/fsharp/Runtime.fs > #!import ../../lib/fsharp/FileSystem.fs > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Common = > > #if !INTERACTIVE > open Lib > #endif > > let nl = System.Environment.NewLine > let q = @"""" > > let inline cons head tail = head :: tail > > /// ## memoize > let inline memoize fn = > let result = lazy fn () > fun () -> result.Value > > /// ## TraceLevel > type TraceLevel = > | Verbose > | Debug > | Info > | Warning > | Critical > > let inline _locals () = "" > > /// ## trace > let to_trace_level = function > | Verbose -> SpiralTrace.TraceLevel.US0_0 > | Debug -> SpiralTrace.TraceLevel.US0_1 > | Info -> SpiralTrace.TraceLevel.US0_2 > | Warning -> SpiralTrace.TraceLevel.US0_3 > | Critical -> SpiralTrace.TraceLevel.US0_4 > > let trace level fn locals = > let level = level |> to_trace_level > SpiralTrace.trace level fn locals > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module CommonFSharp = > > open Common > > /// ## getUnionCaseName > let inline getUnionCaseName<'T> (x: 'T) = > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with > | case, _ -> case.Name > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Async = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## choice > let inline choice asyncs = async { > let e = Event<_> () > use cts = new System.Threading.CancellationTokenSource () > let fn = > asyncs > |> Seq.map (fun a -> async { > let! x = a > e.Trigger x > }) > |> Async.Parallel > |> Async.Ignore > Async.Start (fn, cts.Token) > let! result = Async.AwaitEvent e.Publish > cts.Cancel () > return result > } > > /// ## map > let inline map fn a = async { > let! x = a > return fn x > } > > /// ## catch > let inline catch a = > a > |> Async.Catch > |> map (function > | Choice1Of2 result -> Ok result > | Choice2Of2 ex -> Error ex > ) > > /// ## runWithTimeoutChoiceAsync > let inline runWithTimeoutChoiceAsync (timeout : int) fn = > let _locals () = $"timeout: {timeout} / {_locals ()}" > > let timeoutTask = async { > do! Async.Sleep timeout > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals > return None > } > > let task = async { > try > let! result = fn > return Some result > with > | :? System.AggregateException as ex when > ex.InnerExceptions > |> Seq.exists (function :? Sys... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module AsyncSeq = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## subscribeEvent > let inline subscribeEvent (event: IEvent<'H, 'A>) map = > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, > 'A>(event.AddHandler, event.RemoveHandler) > System.Reactive.Linq.Observable.Select (observable, fun event -> map > event.EventArgs) > |> FSharp.Control.AsyncSeq.ofObservableBuffered > > /// ## subscribeToken > let subscribeToken (token : System.Threading.CancellationToken) = > let tcs = new System.Threading.Tasks.TaskCompletionSource () > System.Action tcs.SetResult |> token.Register |> ignore > let start = System.DateTime.Now.Ticks > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > do! tcs.Task |> Async.AwaitTask > return Some (System.DateTime.Now.Ticks - start, ()) > }) > () > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Runtime = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## parseArgs > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args = > let assemblyName = > System.Reflection.Assembly.GetEntryAssembly().GetName().Name > let errorHandler : Argu.IExiter = > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |> > List.contains assemblyName > then Argu.ExceptionExiter () > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | > _ -> Some System.ConsoleColor.Red) > > let parser = > Argu.ArgumentParser.Create<'T> ( > programName = > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}", > errorHandler = errorHandler > ) > > parser.ParseCommandLine args > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseArgs<'T> > |> fun results -> results.GetAllResults () > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseAllArgs<'T> > |> List.groupBy CommonFSharp.getUnionCaseName<'T> > |> Map.ofList > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module FileSystem = > > #if !INTERACTIVE > open Lib > #endif > > open Common > open SpiralFileSystem.Operators > > /// ## watchDirectory > [[<RequireQualifiedAccess>]] > type FileSystemChangeType = > | Failure > | Changed > | Created > | Deleted > | Renamed > > [[<RequireQualifiedAccess>]] > type FileSystemChange = > | Failure of exn: exn > | Changed of path: string * content: string option > | Created of path: string * content: string option > | Deleted of path: string > | Renamed of oldPath: string * (string * string option) > > > let inline watchDirectoryWithFilter filter shouldReadContent path = > let fullPath = path |> System.IO.Path.GetFullPath > let _locals () = $"filter: {filter} / {_locals ()}" > > let watcher = > new System.IO.FileSystemWatcher ( > Path = fullPath, > NotifyFilter = filter, > EnableRaisingEvents = true, > IncludeSubdirectories = true > ) > > let inline getEventPath (path : string) = > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |> > SpiralSm.trim_start [[| '/'; '\\' |]] > > let inline ticks () = > System.DateTime.UtcNow.Ticks > > let changedStream = > AsyncSeq.subscribeEvent > watcher.Changed > (fun event -> > ticks (), > [[ FileSystemChange... > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open FParsec > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## escapeCell (test) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let inline escapeCell input = > input > |> SpiralSm.split "\n" > |> Array.map (function > | line when line |> SpiralSm.starts_with "\\#!" || line |> > SpiralSm.starts_with "\\#r" -> > System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#") > | line -> line > ) > |> SpiralSm.concat "\n" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > $"a{nl}\\#!magic{nl}b{nl}" > |> escapeCell > |> _assertEqual ( > $"a{nl}#!magic{nl}b{nl}" > ) > > ╭─[ 44.51ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "a │ > │ #!magic │ > │ b │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## magicMarker │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let magicMarker : Parser<string, unit> = pstring "#!" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic" > |> run magicMarker > |> _assertEqual ( > Success ("#!", (), Position ("", 2, 1, 3)) > ) > > ╭─[ 27.18ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: "#!" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "##!magic" > |> run magicMarker > |> _assertEqual ( > Failure ( > $"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}", > ParserError ( > Position ("", 0, 1, 1), > (), > ErrorMessageList (ExpectedString "#!") > ), > () > ) > ) > > ╭─[ 27.34ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure: │ > │ Error in Ln: 1 Col: 1 │ > │ ##!magic │ > │ ^ │ > │ Expecting: '#!' │ > │ │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## magicCommand │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let magicCommand = > magicMarker > >>. manyTill anyChar newline > |>> (System.String.Concat >> SpiralSm.trim) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic > > a" > |> run magicCommand > |> _assertEqual ( > Success ("magic", (), Position ("", 8, 2, 1)) > ) > > ╭─[ 17.29ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: "magic" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > " #!magic > > a" > |> run magicCommand > |> _assertEqual ( > Failure ( > $"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}", > ParserError ( > Position ("", 0, 1, 1), > (), > ErrorMessageList (ExpectedString "#!") > ), > () > ) > ) > > ╭─[ 18.11ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure: │ > │ Error in Ln: 1 Col: 1 │ > │ #!magic │ > │ ^ │ > │ Expecting: '#!' │ > │ │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## content │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let content = > (newline >>. magicMarker) <|> (eof >>. preturn "") > |> attempt > |> lookAhead > |> manyTill anyChar > |>> (System.String.Concat >> SpiralSm.trim) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic > > > a > > > " > |> run content > |> _assertEqual ( > Success ("#!magic > > > a", (), Position ("", 14, 7, 1)) > ) > > ╭─[ 15.94ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: "#!magic │ > │ │ > │ │ > │ a" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Block │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Block = > { > magic : string > content : string > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## block │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let block = > pipe2 > magicCommand > content > (fun magic content -> > { > magic = magic > content = content > }) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic > > > a > > > " > |> run block > |> _assertEqual ( > Success ( > { magic = "magic"; content = "a" }, > (), > Position ("", 14, 7, 1) > ) > ) > > ╭─[ 21.41ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: { magic = "magic" │ > │ content = "a" } │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## blocks │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let blocks = > skipMany newline > >>. sepEndBy block (skipMany1 newline) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > > "#!magic1 > > a > > \#!magic2 > > b > > " > |> escapeCell > |> run blocks > |> _assertEqual ( > Success ( > [[ > { magic = "magic1"; content = "a" } > { magic = "magic2"; content = "b" } > ]], > (), > Position ("", 26, 9, 1) > ) > ) > > ╭─[ 25.93ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: [{ magic = "magic1" │ > │ content = "a" }; { magic = "magic2" │ > │ content = "b" }] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Output │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Output = > | Fs > | Md > | Spi > | Spir > > let inline kernelOutputs magic = > match magic with > | "fsharp" -> [[ Fs ]] > | "markdown" -> [[ Md ]] > | "spiral" -> [[ Spi; Spir ]] > | _ -> [[]] > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## formatBlock │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline formatBlock output (block : Block) = > match output, block with > | output, { magic = "markdown"; content = content } -> > let markdownComment = > match output with > | Spi | Spir -> "/// " > | Fs -> "/// " > | _ -> "" > content > |> SpiralSm.split "\n" > |> Array.map (SpiralSm.trim_end [[||]]) > |> Array.filter (SpiralSm.ends_with " (test)" >> not) > |> Array.map (function > | "" -> markdownComment > | line -> System.Text.RegularExpressions.Regex.Replace (line, > "^\\s*", $"$&{markdownComment}") > ) > |> SpiralSm.concat "\n" > | Fs, { magic = "fsharp"; content = content } -> > let trimmedContent = content |> SpiralSm.trim > if trimmedContent |> SpiralSm.starts_with "//// test" || trimmedContent > |> SpiralSm.starts_with "//// ignore" > then "" > else > content > |> SpiralSm.split "\n" > |> Array.filter (SpiralSm.trim_start [[||]] >> SpiralSm.starts_with > "#r" >> not) > |> SpiralSm.concat "\n" > | (Spi | Spir), { magic = "spiral"; content = content } -> > let trimmedContent = content |> SpiralSm.trim > if trimmedContent |> SpiralSm.starts_with "//// test" || trimmedContent > |> SpiralSm.starts_with "//// ignore" > then "" > else content > | _ -> "" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!markdown > > > a > > b > > c > > > \#!markdown > > > c > > > \#!fsharp > > > let a = 1" > |> escapeCell > |> run block > |> function > | Success (block, _, _) -> formatBlock Fs block > | Failure (msg, _, _) -> failwith msg > |> _assertEqual "/// a > /// > /// b > /// > /// c" > > ╭─[ 38.81ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "/// a │ > │ /// │ > │ /// b │ > │ /// │ > │ /// c" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## formatBlocks │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline formatBlocks output blocks = > blocks > |> List.map (fun block -> > block, formatBlock output block > ) > |> List.filter (snd >> (<>) "") > |> fun list -> > (list, (None, [[]])) > ||> List.foldBack (fun (block, content) (lastMagic, acc) -> > let lineBreak = > if block.magic = "markdown" && lastMagic <> Some "markdown" && > lastMagic <> None > then "" > else "\n" > Some block.magic, $"{content}{lineBreak}" :: acc > ) > |> snd > |> SpiralSm.concat "\n" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!markdown > > > a > > b > > > \#!markdown > > > c > > > \#!fsharp > > > let a = 1 > > \#!markdown > > d (test) > > \#!fsharp > > //// test > > let a = 2 > > \#!markdown > > e > > \#!fsharp > > let a = 3" > |> escapeCell > |> run blocks > |> function > | Success (blocks, _, _) -> formatBlocks Fs blocks > | Failure (msg, _, _) -> failwith msg > |> _assertEqual "/// a > /// > /// b > > /// c > let a = 1 > > /// e > let a = 3 > " > > ╭─[ 44.08ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "/// a │ > │ /// │ > │ /// b │ > │ │ > │ /// c │ > │ let a = 1 │ > │ │ > │ /// e │ > │ let a = 3 │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## parse │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline parse output input = > match run blocks input with > | Success (blocks, _, _) -> > let blocks = > blocks > |> List.filter (fun block -> > block.magic |> kernelOutputs |> List.contains output || > block.magic = "markdown" > ) > > match blocks with > | { magic = "markdown"; content = content } :: _ > when output = Fs > && content |> SpiralSm.starts_with "# " > && content |> SpiralSm.ends_with ")" > -> > let inline indentBlock (block : Block) = > { block with > content = > block.content > |> SpiralSm.split "\n" > |> Array.fold > (fun (lines, isMultiline) line -> > let trimmedLine = line |> SpiralSm.trim > if trimmedLine = "" > then "" :: lines, isMultiline > else > let inline singleQuoteLine () = > trimmedLine |> Seq.sumBy ((=) '"' >> > System.Convert.ToInt32) = 1 > && trimmedLine |> SpiralSm.contains > @"'""'" |> not > && trimmedLine |> SpiralSm.ends_with "{" > |> not > && trimmedLine |> SpiralSm.ends_with > "{|" |> not > && trimmedLine |> SpiralSm.starts_with > "}" |> not > && trimmedLine |> SpiralSm.starts_with > "|}" |> not > > match isMultiline, trimmedLine |> > SpiralSm.split_string [[| $"{q}{q}{q}" |]] with > | false, [[| _; _ |]] -> > $" {line}" :: lines, true > > | true, [[| _; _ |]] -> > line :: lines, false > > | false, _ when singleQuoteLine () -> > $" {line}" :: lines, true > > | false, _ when line |> SpiralSm.starts_with > "#" && block.magic = "fsharp" -> > line :: lines, false > > | false, _ -> > $" {line}" :: lines, false > > | true, _ when singleQuoteLine () && line |> > SpiralSm.starts_with " " -> > $" {line}" :: lines, false > > | true, _ when singleQuoteLine () -> > line :: lines, false > > | true, _ -> > line :: lines, true > ) > ([[]], false) > |> fst > |> List.rev > |> SpiralSm.concat "\n" > } > > let moduleName, namespaceName = > System.Text.RegularExpressions.Regex.Match (content, @"# (.*) > \((.*)\)$") > |> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value > > let moduleBlock = > { > magic = "fsharp" > content = > $"#if !INTERACTIVE > namespace {namespaceName} > #endif > > module {moduleName} =" > } > > blocks > |> List.indexed > |> List.fold > (fun blocks (index, block) -> > match index with > | 0 -> blocks > | 1 -> indentBlock block :: moduleBlock :: blocks > | _ -> indentBlock block :: blocks > ) > [[]] > |> List.rev > | _ -> blocks > |> Result.Ok > | Failure (errorMsg, _, _) -> Result.Error errorMsg > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example1 = > $"""#!meta > > {{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name": > "fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}} > > \#!markdown > > # TestModule (TestNamespace) > > \#!fsharp > > \#!import file.dib > > \#!fsharp > > \#r "nuget:Expecto" > > \#!markdown > > ## ParserLibrary > > \#!fsharp > > open System > > \#!markdown > > ## x (test) > > \#!fsharp > > //// ignore > > let x = 1 > > \#!spiral > > //// test > > inl x = 0i32 > > \#!spiral > > inl x = 0i32 > > \#!markdown > > ### TextInput > > \#!fsharp > > let str1 = "abc > def" > > let str2 = > "abc\ > def" > > let str3 = > $"1{{ > 1 > }}1" > > let str4 = > $"1{{({{| > a = 1 > |}}).a}}1" > > let str5 = > "abc \ > def" > > let x = > match '"' with > | '"' -> true > | _ -> false > > let long1 = {q}{q}{q}a{q}{q}{q} > > let long2 = > {q}{q}{q} > a > {q}{q}{q} > > \#!fsharp > > type Position = > {{ > #if INTERACTIVE > line : string > #else > line : int > #endif > column : int > }}""" > |> escapeCell > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > example1 > |> parse Fs > |> Result.toOption > |> Option.get > |> (formatBlocks Fs) > |> _assertEqual $"""#if !INTERACTIVE > namespace TestNamespace > #endif > > module TestModule = > > /// ## ParserLibrary > open System > > /// ### TextInput > let str1 = "abc > def" > > let str2 = > "abc\ > def" > > let str3 = > $"1{{ > 1 > }}1" > > let str4 = > $"1{{({{| > a = 1 > |}}).a}}1" > > let str5 = > "abc \ > def" > > let x = > match '"' with > | '"' -> true > | _ -> false > > let long1 = {q}{q}{q}a{q}{q}{q} > > let long2 = > {q}{q}{q} > a > {q}{q}{q} > > type Position = > {{ > #if INTERACTIVE > line : string > #else > line : int > #endif > column : int > }} > """ > > ╭─[ 120.99ms - stdout ]────────────────────────────────────────────────────────╮ > │ "#if !INTERACTIVE │ > │ namespace TestNamespace │ > │ #endif │ > │ │ > │ module TestModule = │ > │ │ > │ /// ## ParserLibrary │ > │ open System │ > │ │ > │ /// ### TextInput │ > │ let str1 = "abc │ > │ def" │ > │ │ > │ let str2 = │ > │ "abc\ │ > │ def" │ > │ │ > │ let str3 = │ > │ $"1{ │ > │ 1 │ > │ }1" │ > │ │ > │ let str4 = │ > │ $"1{({| │ > │ a = 1 │ > │ |}).a}1" │ > │ │ > │ let str5 = │ > │ "abc \ │ > │ def" │ > │ │ > │ let x = │ > │ match '"' with │ > │ | '"' -> true │ > │ | _ -> false │ > │ │ > │ let long1 = """a""" │ > │ │ > │ let long2 = │ > │ """ │ > │ a │ > │ """ │ > │ │ > │ type Position = │ > │ { │ > │ #if INTERACTIVE │ > │ line : string │ > │ #else │ > │ line : int │ > │ #endif │ > │ column : int │ > │ } │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > example1 > |> parse Md > |> Result.toOption > |> Option.get > |> (formatBlocks Md) > |> _assertEqual "# TestModule (TestNamespace) > > ## ParserLibrary > > ### TextInput > " > > ╭─[ 182.50ms - stdout ]────────────────────────────────────────────────────────╮ > │ "# TestModule (TestNamespace) │ > │ │ > │ ## ParserLibrary │ > │ │ > │ ### TextInput │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > example1 > |> parse Spi > |> Result.toOption > |> Option.get > |> (formatBlocks Spi) > |> _assertEqual "/// # TestModule (TestNamespace) > > /// ## ParserLibrary > inl x = 0i32 > > /// ### TextInput > " > > ╭─[ 111.48ms - stdout ]────────────────────────────────────────────────────────╮ > │ "/// # TestModule (TestNamespace) │ > │ │ > │ /// ## ParserLibrary │ > │ inl x = 0i32 │ > │ │ > │ /// ### TextInput │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## parseDibCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline parseDibCode output file = async { > trace Debug > (fun () -> "parseDibCode") > (fun () -> $"output: {output} / file: {file} / {_locals ()}") > let! input = file |> SpiralFileSystem.read_all_text_async > match parse output input with > | Result.Ok blocks -> return blocks |> formatBlocks output > | Result.Error msg -> return failwith msg > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## writeDibCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline writeDibCode output path = async { > trace Debug > (fun () -> "writeDibCode") > (fun () -> $"output: {output} / path: {path} / {_locals ()}") > let! result = parseDibCode output path > let outputPath = path |> SpiralSm.replace ".dib" $".{output |> string |> > SpiralSm.to_lower}" > do! result |> SpiralFileSystem.write_all_text_async outputPath > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Arguments │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > [[<RequireQualifiedAccess>]] > type Arguments = > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]] > File of file : string * Output > > interface Argu.IArgParserTemplate with > member s.Usage = > match s with > | File _ -> nameof File > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () > > ╭─[ 72.72ms - return value ]───────────────────────────────────────────────────╮ > │ "USAGE: dotnet-repl [--help] <file> <fs|md|spi|spir> │ > │ │ > │ FILE: │ > │ │ > │ <file> <fs|md|spi|spir> │ > │ File │ > │ │ > │ OPTIONS: │ > │ │ > │ --help display this list of options. │ > │ " │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## main │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let main args = > let argsMap = args |> Runtime.parseArgsMap<Arguments> > > let files = > argsMap.[[nameof Arguments.File]] > |> List.map (function > | Arguments.File (path, output) -> path, output > ) > > files > |> List.map (fun (path, output) -> path |> writeDibCode output) > |> Async.Parallel > |> Async.Ignore > |> Async.runWithTimeout 30000 > |> function > | Some () -> 0 > | None -> 1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let args = > System.Environment.GetEnvironmentVariable "ARGS" > |> SpiralRuntime.split_args > |> Seq.toArray > > match args with > | [[||]] -> 0 > | args -> if main args = 0 then 0 else failwith "main failed" > > ╭─[ 139.07ms - return value ]──────────────────────────────────────────────────╮ > │ <div class="dni-plaintext"><pre>0 │ > │ </pre></div><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 140.49ms - stdout ]────────────────────────────────────────────────────────╮ > │ 00:00:03 debug #1 writeDibCode / output: Fs / path: DibParser.dib │ > │ 00:00:03 debug #2 parseDibCode / output: Fs / file: DibParser.dib │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 71312 00:00:15 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None) 00:00:15 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb to html 00:00:15 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:15 verbose #7 ! validate(nb) 00:00:16 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:16 verbose #9 ! return _pygments_highlight( 00:00:16 verbose #10 ! [NbConvertApp] Writing 368336 bytes to /home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.html 00:00:16 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 904 00:00:16 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 904 00:00:16 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None) 00:00:16 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0 00:00:16 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0 00:00:16 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 72275 00:00:00 debug #1 persistCodeProject / packages: [Argu; FParsec; FSharp.Control.AsyncSeq; ... ] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: DibParser / hash: / code.Length: 9581 00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/polyglot/builder/DibParser/DibParser.fsproj 00:00:00 debug #1 execute_with_options_async / options: struct (None, "dotnet publish "/home/runner/work/polyglot/polyglot/target/polyglot/builder/DibParser/DibParser.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/apps/parser/dist" --runtime linux-x64", [||], None, None, true, Some "/home/runner/work/polyglot/polyglot/target/polyglot/builder/DibParser") 00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET 00:00:00 verbose #3 > Determining projects to restore... 00:00:01 verbose #4 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do. 00:00:01 verbose #6 > Total time taken: 0 milliseconds 00:00:01 verbose #7 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/DibParser/DibParser.fsproj 00:00:01 verbose #9 > Starting restore process. 00:00:01 verbose #10 > Total time taken: 0 milliseconds 00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/DibParser/DibParser.fsproj (in 300 ms). 00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/polyglot/builder/DibParser/DibParser.fsproj] 00:00:10 verbose #13 > DibParser -> /home/runner/work/polyglot/polyglot/target/polyglot/builder/DibParser/bin/Release/net9.0/linux-x64/DibParser.dll 00:00:10 verbose #14 > DibParser -> /home/runner/work/polyglot/polyglot/apps/parser/dist 00:00:10 debug #15 execute_with_options_async / exit_code: 0 / output.Length: 1138 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "JsonParser.dib"]) 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # JsonParser (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Notebooks.dib > #!import ../../lib/fsharp/Testing.dib > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp > NetCore.Html.Abstractions.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.Formatting.dll" > open System > open System.IO > open System.Text > open Microsoft.DotNet.Interactive.Formatting > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > open type Microsoft.DotNet.Interactive.Kernel > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer: > TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > Formatter.ListExpansionLimit <- 100 > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]] > #endif > type Mut<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Co... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]] > #endif > type async_std_task_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]] > #endif > type std_future_Future<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]] > #endif > type rayon_vec_IntoIter<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]] > #endif > type rayon_iter_Map<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]] > #endif > type futures_lite_stream_StreamExt = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]] > #endif > type futures_future_TryJoinAll<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]] > #endif > type futures_future_Fuse<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]] > #endif > type futures_future_JoinAll<'T> = class end > let rec closure0 () (v0 : System.Threading.CancellationToken) : > Async<System.Threading.CancellationToken> = > let v1 : bool = true > let mutable _v1 : Async<System.Threading.CancellationToken> option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT > let v2 : Async<System.Threading.CancellationToken> = null |> > unbox<Async<System... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]] > #endif > type std_thread_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]] > #endif > type std_sync_Arc<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]] > #endif > type std_sync_Mutex<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]] > #endif > type std_sync_MutexGuard<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]] > #endif > type std_sync_PoisonError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]] > #endif > type std_sync_mpsc_Receiver<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]] > #endif > type std_sync_mpsc_SendError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]] > #endif > type std_sync_mpsc_Sender<'T> = class end > type Disposable (f : unit -> unit) = interface System.IDisposable with member > _.Dispose () = f () > type [[<Struct>]] US0 = > | US0_0 of f0_0 : System.Threading.CancellationToken > | US0_1 > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit = > let v1 : bool = true > let mutable _v1 : unit option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]] > #endif > type reqwest_Error = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]] > #endif > type reqwest_RequestBuilder = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]] > #endif > type reqwest_Response = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]] > #endif > type clap_Arg = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]] > #endif > type clap_ArgAction = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]] > #endif > type clap_Command = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]] > #endif > type clap_ArgMatches = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]] > #endif > type clap_builder_ValueRange = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]] > #endif > type clap_builder_ValueParser = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]] > #endif > type clap_builder_PossibleValue = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]] > #endif > type std_process_Child = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]] > #endif > type std_process_ChildStderr = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]] > #endif > type std_process_ChildStdout = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]] > #endif > type std_process_ChildStdin = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]] > #endif > type std_process_Command = class ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]] > #endif > type std_fs_File = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]] > #endif > type std_fs_FileType = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]] > #endif > type std_path_Display = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]] > #endif > type std_path_Path = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]] > #endif > type std_path_PathBuf = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]] > #endif > type async_walkdir_DirEntry = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]] > #endif > type async_walkdir_Filtering = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]] > #endif > type async_walkdir_WalkDir = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = clas... > > ── fsharp - import ───────────────────────────────────────────────────────────── > module SpiralTrace = > let trace x = > #if !INTERACTIVE > Trace.trace x > #else > trace x > #endif > > type TraceLevel = > #if !INTERACTIVE > Trace.US0 > #else > US0 > #endif > > module SpiralCrypto = > let hash_text x = > #if !INTERACTIVE > Crypto.hash_text x > #else > hash_text x > #endif > > #if !FABLE_COMPILER && !WASM && !CONTRACT > > module SpiralAsync = > let merge_cancellation_token_with_default_async x = > #if !INTERACTIVE > Async_.merge_cancellation_token_with_default_async x > #else > merge_cancellation_token_with_default_async x > #endif > > module SpiralThreading = > let new_disposable_token x = > #if !INTERACTIVE > Threading.new_disposable_token x > #else > new_disposable_token x > #endif > > module SpiralNetworking = > let test_port_open x = > #if !INTERACTIVE > Networking.test_port_open x > #else > test_port_open x > #endif > > let test_port_open_timeout x = > #if !INTERACTIVE > Networking.test_port_open_timeout x > #else > test_port_open_timeout x > #endif > > let wait_for_port_access x = > #if !INTERACTIVE > Networking.wait_for_port_access x > #else > wait_for_port_access x > #endif > > let get_available_port x = > #if !INTERACTIVE > Networking.get_available_port x > #else > get_available_port x > #endif > > module SpiralRuntime = > let get_executable_suffix () = > #if !INTERACTIVE > Runtime.get_executable_suffix () > #else > get_executable_suffix () > #endif > > let is_windows () = > #if !INTERACTIVE > ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > type AssertExceptionFormatter (ex) = > member _.Text = > ex.ToString() > .Replace("32m", "<span style=\"color: green;\">") > .Replace("36m", "</span>") > .Replace("31m", "<span style=\"color: red;\">") > .Replace("\n", "<br/>\n") > > > Formatter.Register<AssertExceptionFormatter> ((fun (x : > AssertExceptionFormatter) -> x.Text), "text/html") > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __expect fn log expected actual = > if log then printfn $"{actual.ToDisplayString ()}" > try > "Testing.__expect" |> fn actual expected > with :? Expecto.AssertException as ex -> > AssertExceptionFormatter(ex).Display () |> ignore > failwith (ex.GetType().FullName) > > let inline __contains log expected actual = __expect Expecto.Expect.contains log > expected actual > let inline _contains expected actual = __contains true expected actual > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log > expected actual > let inline _assertEqual expected actual = __assertEqual true expected actual > > let inline __isGreaterThan log expected actual = __expect > Expecto.Expect.isGreaterThan log expected actual > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual > > let inline __isGreaterThanOrEqual log expected actual = __expect > Expecto.Expect.isGreaterThanOrEqual log expected actual > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true > expected actual > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan > log expected actual > let inline _isLessThan expected actual = __isLessThan true expected actual > > let inline __isLessThanOrEqual log expected actual = __expect > Expecto.Expect.isLessThanOrEqual log expected actual > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true > expected actual > > let inline __sequenceEqual log expected actual = __expe... > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __isBetween log a b actual = > let inline isBetween actual (a, b) _ = > __isGreaterThanOrEqual log a actual > __isLessThanOrEqual log b actual > __expect isBetween log (a, b) actual > let inline _isBetween a b actual = __isBetween true a b actual > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Common.fs > #!import Parser.fs > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Common = > > #if !INTERACTIVE > open Lib > #endif > > let nl = System.Environment.NewLine > let q = @"""" > > let inline cons head tail = head :: tail > > /// ## memoize > let inline memoize fn = > let result = lazy fn () > fun () -> result.Value > > /// ## TraceLevel > type TraceLevel = > | Verbose > | Debug > | Info > | Warning > | Critical > > let inline _locals () = "" > > /// ## trace > let to_trace_level = function > | Verbose -> SpiralTrace.TraceLevel.US0_0 > | Debug -> SpiralTrace.TraceLevel.US0_1 > | Info -> SpiralTrace.TraceLevel.US0_2 > | Warning -> SpiralTrace.TraceLevel.US0_3 > | Critical -> SpiralTrace.TraceLevel.US0_4 > > let trace level fn locals = > let level = level |> to_trace_level > SpiralTrace.trace level fn locals > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Parser = > > open Common > > /// ### TextInput > type Position = > { > line : int > column : int > } > > let initialPos = { line = 0; column = 0 } > > let inline incrCol (pos : Position) = > { pos with column = pos.column + 1 } > > let inline incrLine pos = > { line = pos.line + 1; column = 0 } > > type InputState = > { > lines : string[[]] > position : Position > } > > let inline fromStr str = > { > lines = > if str |> String.IsNullOrEmpty > then [[||]] > else str |> SpiralSm.split_string [[| "\r\n"; "\n" |]] > position = initialPos > } > > let inline currentLine inputState = > let linePos = inputState.position.line > if linePos < inputState.lines.Length > then inputState.lines.[[linePos]] > else "end of file" > > let inline nextChar input = > let linePos = input.position.line > let colPos = input.position.column > > if linePos >= input.lines.Length > then input, None > else > let currentLine = currentLine input > if colPos < currentLine.Length then > let char = currentLine.[[colPos]] > let newPos = incrCol input.position > let newState = { input with position = newPos } > newState, Some char > else > let char = '\n' > ... > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open Parser > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## JsonParser │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > (* > // -------------------------------- > JSON spec from http://www.json.org/ > // -------------------------------- > > The JSON spec is available at [[json.org]](http://www.json.org/). I'll paraphase > it here: > > * A `value` can be a `string` or a `number` or a `bool` or `null` or an `object` > or an `array`. > * These structures can be nested. > * A `string` is a sequence of zero or more Unicode characters, wrapped in double > quotes, using backslash escapes. > * A `number` is very much like a C or Java number, except that the octal and > hexadecimal formats are not used. > * A `boolean` is the literal `true` or `false` > * A `null` is the literal `null` > * An `object` is an unordered set of name/value pairs. > * An object begins with { (left brace) and ends with } (right brace). > * Each name is followed by : (colon) and the name/value pairs are separated by > , (comma). > * An `array` is an ordered collection of values. > * An array begins with [[ (left bracket) and ends with ]] (right bracket). > * Values are separated by , (comma). > * Whitespace can be inserted between any pair of tokens. > > *) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let inline parserEqual (expected : ParseResult<'a>) (actual : ParseResult<'a * > Input>) = > match actual, expected with > | Success (_actual, _), Success _expected -> > printResult actual > _actual |> _assertEqual _expected > | Failure (l1, e1, p1), Failure (l2, e2, p2) when l1 = l2 && e1 = e2 && p1 = > p2 -> > printResult actual > | _ -> > printfn $"Actual: {actual}" > printfn $"Expected: {expected}" > failwith "Parse failed" > actual > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### JValue │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type JValue = > | JString of string > | JNumber of float > | JBool of bool > | JNull > | JObject of Map<string, JValue> > | JArray of JValue list > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jValue, jValueRef = createParserForwardedToRef<JValue> () > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jNull │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jNull = > pstring "null" > >>% JNull > <?> "null" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jValue "null" > |> parserEqual (Success JNull) > > ╭─[ 169.62ms - return value ]──────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNull, { lines = [ │ > │ |"null"|]<br /> position = { line = 0<br /> │ > │ column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNull, { lines = [|"null"|]<br /> │ > │ position = { line = 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNull</code></span></summary><div><table><thead> │ > │ <tr></tr></thead><tbody><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"null"|]<br /> position = │ > │ { line = 0<br /> column = 4 } │ > │ }</code></span></summary><div><tab... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 174.22ms - stdout ]────────────────────────────────────────────────────────╮ > │ JNull │ > │ JNull │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNull "nulp" > |> parserEqual ( > Failure ( > "null", > "Unexpected 'p'", > { currentLine = "nulp"; line = 0; column = 3 } > ) > ) > > ╭─[ 39.59ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("null", "Unexpected │ > │ 'p'", { currentLine = "nulp"<br /> │ > │ line = 0<br /> column = 3 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"null" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected 'p'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "nulp"<br /> line = 0<br /> column = 3 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"nulp" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>3 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ de... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 41.60ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:3 Error parsing null │ > │ nulp │ > │ ^Unexpected 'p' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jBool │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jBool = > let jtrue = > pstring "true" > >>% JBool true > let jfalse = > pstring "false" > >>% JBool false > > jtrue <|> jfalse > <?> "bool" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jBool "true" > |> parserEqual (Success (JBool true)) > > ╭─[ 36.24ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JBool true, { lines = [ │ > │ |"true"|]<br /> position = { line = 0<br /> │ > │ column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JBool true, { lines = [|"true"|]<br │ > │ /> position = { line = 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JBool │ > │ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │ > │ td>Item</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"true... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 38.27ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JBool true │ > │ JBool true │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jBool "false" > |> parserEqual (Success (JBool false)) > > ╭─[ 26.15ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JBool false, { lines = [ │ > │ |"false"|]<br /> position = { line = 0<br │ > │ /> column = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JBool false, { lines = [|"false"|]<br │ > │ /> position = { line = 0<br /> column = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JBool │ > │ false</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|&q... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.04ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JBool false │ > │ JBool false │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jBool "truX" > |> parserEqual ( > Failure ( > "bool", > "Unexpected 't'", > { currentLine = "truX"; line = 0; column = 0 } > ) > ) > > ╭─[ 21.26ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("bool", "Unexpected │ > │ 't'", { currentLine = "truX"<br /> │ > │ line = 0<br /> column = 0 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"bool" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected 't'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "truX"<br /> line = 0<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"truX" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ de... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 23.18ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:0 Error parsing bool │ > │ truX │ > │ ^Unexpected 't' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jUnescapedChar │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jUnescapedChar = > satisfy (fun ch -> ch <> '\\' && ch <> '\"') "char" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jUnescapedChar "a" > |> parserEqual (Success 'a') > > ╭─[ 40.11ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('a', { lines = [ │ > │ |"a"|]<br /> position = { line = 0<br /> │ > │ column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(a, { lines = [|"a"|]<br /> position │ > │ = { line = 0<br /> column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'a' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"a"|]<br /> position = { line = 0<br /> column = 1 │ > │ } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ a │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 1 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintex... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 42.34ms - stdout ]─────────────────────────────────────────────────────────╮ > │ 'a' │ > │ 'a' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jUnescapedChar "\\" > |> parserEqual ( > Failure ( > "char", > "Unexpected '\\'", > { currentLine = "\\"; line = 0; column = 0 } > ) > ) > > ╭─[ 28.68ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("char", "Unexpected │ > │ '\'", { currentLine = "\"<br /> │ > │ line = 0<br /> column = 0 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"char" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected '\'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "\"<br /> line = 0<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"\" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 30.61ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:0 Error parsing char │ > │ \ │ > │ ^Unexpected '\' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jEscapedChar │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jEscapedChar = > [[ > ("\\\"",'\"') > ("\\\\",'\\') > ("\\/",'/') > ("\\b",'\b') > ("\\f",'\f') > ("\\n",'\n') > ("\\r",'\r') > ("\\t",'\t') > ]] > |> List.map (fun (toMatch, result) -> > pstring toMatch >>% result > ) > |> choice > <?> "escaped char" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar "\\\\" > |> parserEqual (Success '\\') > > ╭─[ 24.77ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\\', { lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br /> position │ > │ = { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\\' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> column = │ > │ 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \\ │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.03ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\\' │ > │ '\\' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar "\\t" > |> parserEqual (Success '\t') > > ╭─[ 22.39ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\009', { lines = [ │ > │ |"\t"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>( , { lines = [|"\t"|]<br /> position = │ > │ { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\009' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\t"|]<br /> position = { line = 0<br /> column = │ > │ 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \t │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div cla... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 24.60ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\009' │ > │ '\009' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar @"\\" > |> parserEqual (Success '\\') > > ╭─[ 22.27ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\\', { lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br /> position │ > │ = { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\\' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> column = │ > │ 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \\ │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 24.48ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\\' │ > │ '\\' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar @"\n" > |> parserEqual (Success '\n') > > ╭─[ 22.32ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\010', { lines = [|"<br │ > │ />"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(<br />, { lines = [|"<br />"|]<br /> │ > │ position = { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\010' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"<br />"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ <br /> │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuc... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 24.58ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\010' │ > │ '\010' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar "a" > |> parserEqual ( > Failure ( > "escaped char", > "Unexpected 'a'", > { currentLine = "a"; line = 0; column = 0 } > ) > ) > > ╭─[ 21.11ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("escaped char", │ > │ "Unexpected 'a'", { currentLine = "a"<br /> │ > │ line = 0<br /> column = 0 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"escaped char" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected 'a'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "a"<br /> line = 0<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"a" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ ... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 23.04ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:0 Error parsing escaped char │ > │ a │ > │ ^Unexpected 'a' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jUnicodeChar │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jUnicodeChar = > let backslash = pchar '\\' > let uChar = pchar 'u' > let hexdigit = anyOf ([[ '0' .. '9' ]] @ [[ 'A' .. 'F' ]] @ [[ 'a' .. 'f' > ]]) > let fourHexDigits = hexdigit .>>. hexdigit .>>. hexdigit .>>. hexdigit > > let inline convertToChar (((h1, h2), h3), h4) = > let str = $"%c{h1}%c{h2}%c{h3}%c{h4}" > Int32.Parse (str, Globalization.NumberStyles.HexNumber) |> char > > backslash >>. uChar >>. fourHexDigits > |>> convertToChar > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jUnicodeChar "\\u263A" > |> parserEqual (Success '☺') > > ╭─[ 31.04ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('☺', { lines = [ │ > │ |"\u263A"|]<br /> position = { line = 0<br /> │ > │ column = 6 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(☺, { lines = [|"\u263A"|]<br /> │ > │ position = { line = 0<br /> column = 6 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'☺' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\u263A"|]<br /> position = { line = 0<br /> │ > │ column = 6 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \u263A │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 6 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>6 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 33.24ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '☺' │ > │ '☺' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jString │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let quotedString = > let quote = pchar '\"' <?> "quote" > let jchar = jUnescapedChar <|> jEscapedChar <|> jUnicodeChar > > quote >>. manyChars jchar .>> quote > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jString = > quotedString > |>> JString > <?> "quoted string" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > jString > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"\"" > |> parserEqual (Success (JString "")) > > ╭─[ 37.56ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "", { lines = [ │ > │ |""""|]<br /> position = { line = │ > │ 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "", { lines = [ │ > │ |""""|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ ""</code></span></summary><div><table><thead><tr></tr></thead><tbo │ > │ dy><tr><td>Item</td><td><div class="dni-plaintext"><pre>"" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><s... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 39.64ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "" │ > │ JString "" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"a\"" > |> parserEqual (Success (JString "a")) > > ╭─[ 67.54ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "a", { lines = [ │ > │ |""a""|]<br /> position = { line │ > │ = 0<br /> column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "a", { lines = [ │ > │ |""a""|]<br /> position = { line = 0<br /> │ > │ column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ "a"</code></span></summary><div><table><thead><tr></tr></thead><tb │ > │ ody><tr><td>Item</td><td><div class="dni-plaintext"><pre>"a" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><su... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 69.53ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "a" │ > │ JString "a" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"ab\"" > |> parserEqual (Success (JString "ab")) > > ╭─[ 25.16ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "ab", { lines = [ │ > │ |""ab""|]<br /> position = { │ > │ line = 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "ab", { lines = [ │ > │ |""ab""|]<br /> position = { line = 0<br /> │ > │ column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ "ab"</code></span></summary><div><table><thead><tr></tr></thead><t │ > │ body><tr><td>Item</td><td><div class="dni-plaintext"><pre>"ab" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treev... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.10ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "ab" │ > │ JString "ab" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"ab\\tde\"" > |> parserEqual (Success (JString "ab\tde")) > > ╭─[ 26.33ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "ab de", { lines = [ │ > │ |""ab\tde""|]<br /> position │ > │ = { line = 0<br /> column = 8 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "ab de", { lines = [ │ > │ |""ab\tde""|]<br /> position = { line = 0<br /> │ > │ column = 8 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString "ab │ > │ de"</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │ > │ tr><td>Item</td><td><div class="dni-plaintext"><pre>"ab de" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.80ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "ab de" │ > │ JString "ab de" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"ab\\u263Ade\"" > |> parserEqual (Success (JString "ab☺de")) > > ╭─[ 24.68ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "ab☺de", { lines = [ │ > │ |""ab\u263Ade""|]<br /> │ > │ position = { line = 0<br /> column = │ > │ 12 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "ab☺de", { lines = [ │ > │ |""ab\u263Ade""|]<br /> position = { line = 0<br /> │ > │ column = 12 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ "ab☺de"</code></span></summary><div><table><thead><tr></tr></thead │ > │ ><tbody><tr><td>Item</td><td><div │ > │ class="dni-plaintext"><pre>"ab☺de" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Ite. │ > │ .. │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 26.74ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "ab☺de" │ > │ JString "ab☺de" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jNumber │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jNumber = > let optSign = opt (pchar '-') > > let zero = pstring "0" > > let digitOneNine = > satisfy (fun ch -> Char.IsDigit ch && ch <> '0') "1-9" > > let digit = > satisfy Char.IsDigit "digit" > > let point = pchar '.' > > let e = pchar 'e' <|> pchar 'E' > > let optPlusMinus = opt (pchar '-' <|> pchar '+') > > let nonZeroInt = > digitOneNine .>>. manyChars digit > |>> fun (first, rest) -> string first + rest > > let intPart = zero <|> nonZeroInt > > let fractionPart = point >>. manyChars1 digit > > let exponentPart = e >>. optPlusMinus .>>. manyChars1 digit > > let inline (|>?) opt f = > match opt with > | None -> "" > | Some x -> f x > > let inline convertToJNumber (((optSign, intPart), fractionPart), expPart) = > let signStr = > optSign > |>? string > > let fractionPartStr = > fractionPart > |>? (fun digits -> "." + digits) > > let expPartStr = > expPart > |>? fun (optSign, digits) -> > let sign = optSign |>? string > "e" + sign + digits > > (signStr + intPart + fractionPartStr + expPartStr) > |> float > |> JNumber > > optSign .>>. intPart .>>. opt fractionPart .>>. opt exponentPart > |>> convertToJNumber > <?> "number" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > jString > jNumber > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "123" > |> parserEqual (Success (JNumber 123.0)) > > ╭─[ 41.33ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │ > │ |"123"|]<br /> position = { line = 0<br │ > │ /> column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.0, { lines = [|"123"|]<br │ > │ /> position = { line = 0<br /> column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines ... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 43.32ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.0 │ > │ JNumber 123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "-123" > |> parserEqual (Success (JNumber -123.0)) > > ╭─[ 25.79ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 0<br │ > │ /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 0<br /> column │ > │ = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><div class="dni-plaintext"><pre>-123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.71ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber -123.0 │ > │ JNumber -123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "123.4" > |> parserEqual (Success (JNumber 123.4)) > > ╭─[ 26.79ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 0<br │ > │ /> column = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 0<br /> column │ > │ = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.4 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ li... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.69ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.4 │ > │ JNumber 123.4 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "-123." > |> parserEqual (Success (JNumber -123.0)) > > ╭─[ 24.44ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │ > │ |"-123."|]<br /> position = { line = │ > │ 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │ > │ |"-123."|]<br /> position = { line = 0<br /> column │ > │ = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><div class="dni-plaintext"><pre>-123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><cod... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 26.41ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber -123.0 │ > │ JNumber -123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "00.1" > |> parserEqual (Success (JNumber 0.0)) > > ╭─[ 24.49ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 0.0, { lines = [ │ > │ |"00.1"|]<br /> position = { line = 0<br /> │ > │ column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 0.0, { lines = [|"00.1"|]<br │ > │ /> position = { line = 0<br /> column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 0.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><div class="dni-plaintext"><pre>0.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 26.39ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 0.0 │ > │ JNumber 0.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let jNumber_ = jNumber .>> spaces1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123" > |> parserEqual (Success (JNumber 123.0)) > > ╭─[ 27.69ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │ > │ |"123"|]<br /> position = { line = 1<br │ > │ /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.0, { lines = [|"123"|]<br │ > │ /> position = { line = 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines ... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 29.65ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.0 │ > │ JNumber 123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "-123" > |> parserEqual (Success (JNumber -123.0)) > > ╭─[ 25.42ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 1<br │ > │ /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 1<br /> column │ > │ = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><div class="dni-plaintext"><pre>-123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.42ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber -123.0 │ > │ JNumber -123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "-123." > |> parserEqual ( > Failure ( > "number andThen many1 whitespace", > "Unexpected '.'", > { currentLine = "-123."; line = 0; column = 4 } > ) > ) > > ╭─[ 46.43ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure<br /> ("number andThen many1 │ > │ whitespace", "Unexpected '.'", { currentLine = │ > │ "-123."<br /> │ > │ line = 0<br /> │ > │ column = 4 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"number andThen many1 │ > │ whitespace" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected '.'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "-123."<br /> line = 0<br /> column = 4 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"-123." │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>4 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-tre... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 48.31ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:4 Error parsing number andThen many1 whitespace │ > │ -123. │ > │ ^Unexpected '.' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123.4" > |> parserEqual (Success (JNumber 123.4)) > > ╭─[ 25.60ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 1<br │ > │ /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 1<br /> column │ > │ = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.4 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ li... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.46ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.4 │ > │ JNumber 123.4 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "00.4" > |> parserEqual ( > Failure ( > "number andThen many1 whitespace", > "Unexpected '0'", > { currentLine = "00.4"; line = 0; column = 1 } > ) > ) > > ╭─[ 21.76ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure<br /> ("number andThen many1 │ > │ whitespace", "Unexpected '0'", { currentLine = │ > │ "00.4"<br /> │ > │ line = 0<br /> │ > │ column = 1 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"number andThen many1 │ > │ whitespace" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected '0'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "00.4"<br /> line = 0<br /> column = 1 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"00.4" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treevi... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 23.57ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:1 Error parsing number andThen many1 whitespace │ > │ 00.4 │ > │ ^Unexpected '0' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123e4" > |> parserEqual (Success (JNumber 1230000.0)) > > ╭─[ 27.69ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 1230000.0, { lines = [ │ > │ |"123e4"|]<br /> position = { line = │ > │ 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 1230000.0, { lines = [ │ > │ |"123e4"|]<br /> position = { line = 1<br /> column │ > │ = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 1230000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody> │ > │ <tr><td>Item</td><td><div class="dni-plaintext"><pre>1230000.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span class="d... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 29.69ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 1230000.0 │ > │ JNumber 1230000.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123.4e5" > |> parserEqual (Success (JNumber 12340000.0)) > > ╭─[ 25.63ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 12340000.0, { lines = [ │ > │ |"123.4e5"|]<br /> position = { line │ > │ = 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 12340000.0, { lines = [ │ > │ |"123.4e5"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 12340000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody │ > │ ><tr><td>Item</td><td><div class="dni-plaintext"><pre>12340000.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><spa... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.56ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 12340000.0 │ > │ JNumber 12340000.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123.4e-5" > |> parserEqual (Success (JNumber 0.001234)) > > ╭─[ 25.87ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 0.001234, { lines = [ │ > │ |"123.4e-5"|]<br /> position = { line │ > │ = 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 0.001234, { lines = [ │ > │ |"123.4e-5"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 0.001234</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │ > │ tr><td>Item</td><td><div class="dni-plaintext"><pre>0.001234 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span class="d... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.80ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 0.001234 │ > │ JNumber 0.001234 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jArray │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jArray = > let left = pchar '[[' .>> spaces > let right = pchar ']]' .>> spaces > let comma = pchar ',' .>> spaces > let value = jValue .>> spaces > > let values = sepBy value comma > > between left values right > |>> JArray > <?> "array" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > jString > jNumber > jArray > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jArray "[[ 1, 2 ]]" > |> parserEqual (Success (JArray [[ JNumber 1.0; JNumber 2.0 ]])) > > ╭─[ 63.12ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JArray [JNumber 1.0; JNumber 2.0], { │ > │ lines = [|"[ 1, 2 ]"|]<br /> │ > │ position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JArray [JNumber 1.0; JNumber 2.0], { lines = [ │ > │ |"[ 1, 2 ]"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JArray [JNumber 1.0; JNumber │ > │ 2.0]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │ > │ td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></ │ > │ thead><tbody><tr><td>0</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><div class="dni-plaintext"><pre>1.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div ... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 65.22ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JArray [JNumber 1.0; JNumber 2.0] │ > │ JArray [JNumber 1.0; JNumber 2.0] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jArray "[[ 1, 2, ]]" > |> parserEqual ( > Failure ( > "array", > "Unexpected ','", > { currentLine = "[[ 1, 2, ]]"; line = 0; column = 6 } > ) > ) > > ╭─[ 27.26ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("array", "Unexpected │ > │ ','", { currentLine = "[ 1, 2, ]"<br /> │ > │ line = 0<br /> column = 6 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"array" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected ','" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "[ 1, 2, ]"<br /> line = 0<br /> column = 6 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"[ 1, 2, ]" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>6 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 29.31ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:6 Error parsing array │ > │ [ 1, 2, ] │ > │ ^Unexpected ',' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jObject │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jObject = > let left = spaces >>. pchar '{' .>> spaces > let right = pchar '}' .>> spaces > let colon = pchar ':' .>> spaces > let comma = pchar ',' .>> spaces > let key = quotedString .>> spaces > let value = jValue .>> spaces > > let keyValue = (key .>> colon) .>>. value > let keyValues = sepBy keyValue comma > > between left keyValues right > |>> Map.ofList > |>> JObject > <?> "object" > > ── fsharp ────────────────────────────────────────────────────────────────────── > jValueRef <| > choice > [[ > jNull > jBool > jString > jNumber > jArray > jObject > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jObject """{ "a":1, "b" : 2 }""" > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "a", JNumber 1.0 > "b", JNumber 2.0 > ]] > ) > ) > ) > > ╭─[ 67.22ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject (map [("a", │ > │ JNumber 1.0); ("b", JNumber 2.0)]),<br /> { lines = [|"{ │ > │ "a":1, "b" : 2 }"|]<br /> position = { line = │ > │ 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JObject (map [("a", JNumber 1.0); │ > │ ("b", JNumber 2.0)]), { lines = [|"{ "a":1, │ > │ "b" : 2 }"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject (map [("a", JNumber 1.0); │ > │ ("b", JNumber │ > │ 2.0)])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>value</th></tr></ │ > │ thead><tbody><tr><td><div class="dni-plaintext"><pre>"a" │ > │ </pre></div></td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><div class="dni-plaintext"><pre>1.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 69.57ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JObject (map [("a", JNumber 1.0); ("b", JNumber 2.0)]) │ > │ JObject (map [("a", JNumber 1.0); ("b", JNumber 2.0)]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jObject """{ "a":1, "b" : 2, }""" > |> parserEqual ( > Failure ( > "object", > "Unexpected ','", > { currentLine = """{ "a":1, "b" : 2, }"""; line = 0; column = 18 } > ) > ) > > ╭─[ 61.02ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("object", "Unexpected │ > │ ','", { currentLine = "{ "a":1, "b" : │ > │ 2, }"<br /> line = 0<br /> │ > │ column = 18 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"object" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected ','" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "{ "a":1, "b" : 2, }"<br /> │ > │ line = 0<br /> column = 18 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"{ "a":1, │ > │ "b" : 2, }" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>18 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: no... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 62.94ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:18 Error parsing object │ > │ { "a":1, "b" : 2, } │ > │ ^Unexpected ',' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jValue │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example1 = """{ > "name" : "Scott", > "isMale" : true, > "bday" : {"year":2001, "month":12, "day":25 }, > "favouriteColors" : [["blue", "green"]], > "emptyArray" : [[]], > "emptyObject" : {} > }""" > run jValue example1 > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "name", JString "Scott" > "isMale", JBool true > "bday", JObject ( > Map.ofList [[ > "year", JNumber 2001.0 > "month", JNumber 12.0 > "day", JNumber 25.0 > ]] > ) > "favouriteColors", JArray [[ JString "blue"; JString "green" ]] > "emptyArray", JArray [[]] > "emptyObject", JObject Map.empty > ]] > ) > ) > ) > > ╭─[ 117.54ms - return value ]──────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject<br /> (map<br /> │ > │ [("bday",<br /> JObject<br /> (map<br /> │ > │ [("day", JNumber 25.0); ("month", JNumber 12.0);<br /> │ > │ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │ > │ ]);<br /> ("emptyObject", JObject (map []));<br /> │ > │ ("favouriteColors", │ > │ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JObject<br /> (map<br /> [ │ > │ ("bday",<br /> JObject<br /> (map<br /> [ │ > │ ("day", JNumber 25.0); ("month", JNumber 12.0);<br /> │ > │ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │ > │ ]);<br /> ("emptyObject", JObject (map []));<br /> │ > │ ("favouriteColors", JArray [JString "blue"; JString │ > │ "gr...</code></span></summary><div><table><thead><tr></tr></thead><tbod │ > │ y><tr><td>Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject<br /> (map<br /> [ │ > │ ("bday",<br /> JObject<br /> (map<br /> [ │ > │ ("day", JNumber 25.0); ("month", JNumber 12.0);<br /> │ > │ ("year", JNumber 2001.0)])); ("emptyArray", JArray... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 120.08ms - stdout ]────────────────────────────────────────────────────────╮ > │ JObject │ > │ (map │ > │ [("bday", │ > │ JObject │ > │ (map │ > │ [("day", JNumber 25.0); ("month", JNumber 12.0); │ > │ ("year", JNumber 2001.0)])); ("emptyArray", JArray []); │ > │ ("emptyObject", JObject (map [])); │ > │ ("favouriteColors", JArray [JString "blue"; JString "green"]); │ > │ ("isMale", JBool true); ("name", JString "Scott")]) │ > │ JObject │ > │ (map │ > │ [("bday", JObject (map [("day", JNumber 25.0); ("month", JNumber 12.0); │ > │ ("year", JNumber 2001.0)])); │ > │ ("emptyArray", JArray []); ("emptyObject", JObject (map [])); │ > │ ("favouriteColors", JArray [JString "blue"; JString "green"]); │ > │ ("isMale", JBool true); ("name", JString "Scott")]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example2 = """{"widget": { > "debug": "on", > "window": { > "title": "Sample Konfabulator Widget", > "name": "main_window", > "width": 500, > "height": 500 > }, > "image": { > "src": "Images/Sun.png", > "name": "sun1", > "hOffset": 250, > "vOffset": 250, > "alignment": "center" > }, > "text": { > "data": "Click Here", > "size": 36, > "style": "bold", > "name": "text1", > "hOffset": 250, > "vOffset": 100, > "alignment": "center", > "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" > } > }}""" > > run jValue example2 > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "widget", JObject ( > Map.ofList [[ > "debug", JString "on" > "window", JObject ( > Map.ofList [[ > "title", JString "Sample Konfabulator Widget" > "name", JString "main_window" > "width", JNumber 500.0 > "height", JNumber 500.0 > ]] > ) > "image", JObject ( > Map.ofList [[ > "src", JString "Images/Sun.png" > "name", JString "sun1" > "hOffset", JNumber 250.0 > "vOffset", JNumber 250.0 > "alignment", JString "center" > ]] > ) > "text", JObject ( > Map.ofList [[ > "data", JString "Click Here" > "size", JNumber 36.0 > "style", JString "bold" > "name", JString "text1" > "hOffset", JNumber 250.0 > "vOffset", JNumber 100.0 > "alignment", JString "center" > "onMouseUp", JString "sun1.opacity = > (sun1.opacity / 100) * 90;" > ]] > ) > ]] > ) > ]] > ) > ) > ) > > ╭─[ 227.00ms - return value ]──────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject<br /> (map<br /> │ > │ [("widget",<br /> JObject<br /> (map<br /> │ > │ [("debug", JString "on");<br /> │ > │ ("image",<br /> JObject<br /> │ > │ (map<br /> [("alignment", JString │ > │ "center");<br /> │ > │ ("hOffset"...</code></span></summary><div><table><thead><tr></tr>< │ > │ /thead><tbody><tr><td>Item</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>(JObject<br │ > │ /> (map<br /> [("widget",<br /> JObject<br /> │ > │ (map<br /> [("debug", JString "on");<br /> │ > │ ("image",<br /> JObject<br /> (map<br │ > │ /> [("alignment", JString "center"); │ > │ ("hOffset", JNumber 250.0);<br /> │ > │ ("name", JString │ > │ "sun1"...</code></span></summary><div><table><thead><tr></tr></the │ > │ ad><tbody><tr><td>Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject<br /> (map<br /> [ │ > │ ("widget",<br /> JObject<br /> (map<br /> │ > │ [("debug", JString "on");<br /> │ > │ ("image",<br /> JObject<br /> (m... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 229.89ms - stdout ]────────────────────────────────────────────────────────╮ > │ JObject │ > │ (map │ > │ [("widget", │ > │ JObject │ > │ (map │ > │ [("debug", JString "on"); │ > │ ("image", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); ("hOffset", JNumber │ > │ 250.0); │ > │ ("name", JString "sun1"); ("src", JString │ > │ "Images/Sun.png"); │ > │ ("vOffset", JNumber 250.0)])); │ > │ ("text", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); │ > │ ("data", JString "Click Here"); ("hOffset", JNumber │ > │ 250.0); │ > │ ("name", JString "text1"); │ > │ ("onMouseUp", │ > │ JString "sun1.opacity = (sun1.opacity / 100) * 90;"); │ > │ ("size", JNumber 36.0); ("style", JString "bold"); │ > │ ("vOffset", JNumber 100.0)])); │ > │ ("window", │ > │ JObject │ > │ (map │ > │ [("height", JNumber 500.0); ("name", JString │ > │ "main_window"); │ > │ ("title", JString "Sample Konfabulator Widget"); │ > │ ("width", JNumber 500.0)]))]))]) │ > │ JObject │ > │ (map │ > │ [("widget", │ > │ JObject │ > │ (map │ > │ [("debug", JString "on"); │ > │ ("image", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); ("hOffset", JNumber │ > │ 250.0); ("name", JString "sun1"); │ > │ ("src", JString "Images/Sun.png"); ("vOffset", JNumber │ > │ 250.0)])); │ > │ ("text", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); ("data", JString "Click │ > │ Here"); ("hOffset", JNumber 250.0); │ > │ ("name", JString "text1"); ("onMouseUp", JString │ > │ "sun1.opacity = (sun1.opacity / 100) * 90;"); │ > │ ("size", JNumber 36.0); ("style", JString "bold"); │ > │ ("vOffset", JNumber 100.0)])); │ > │ ("window", │ > │ JObject │ > │ (map │ > │ [("height", JNumber 500.0); ("name", JString │ > │ "main_window"); │ > │ ("title", JString "Sample Konfabulator Widget"); │ > │ ("width", JNumber 500.0)]))]))]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example3 = """{ > "string": "Hello, \"World\"!", > "escapedString": "This string contains \\/\\\\\\b\\f\\n\\r\\t\\\"\\'", > "number": 42, > "scientificNumber": 3.14e-10, > "boolean": true, > "nullValue": null, > "array": [[1, 2, 3, 4, 5]], > "unicodeString1": "프리마", > "unicodeString2": "\u0048\u0065\u006C\u006C\u006F, > \u0022\u0057\u006F\u0072\u006C\u0064\u0022!", > "specialCharacters": "!@#$%^&*()", > "emptyArray": [[]], > "emptyObject": {}, > "nestedArrays": [[[[1, 2, 3]], [[4, 5, 6]]]], > "object": { > "nestedString": "Nested Value", > "nestedNumber": 3.14, > "nestedBoolean": false, > "nestedNull": null, > "nestedArray": [["a", "b", "c"]], > "nestedObject": { > "nestedProperty": "Nested Object Value" > } > }, > "nestedObjects": [[ > {"name": "Alice", "age": 25}, > {"name": "Bob", "age": 30} > ]] > }""" > run jValue example3 > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "string", JString @"Hello, ""World""!" > "escapedString", JString @"This string contains > \/\\\b\f\n\r\t\""\'" > "number", JNumber 42.0 > "scientificNumber", JNumber 3.14e-10 > "boolean", JBool true > "nullValue", JNull > "array", JArray [[ > JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber > 5.0 > ]] > "unicodeString1", JString "프리마" > "unicodeString2", JString @"Hello, ""World""!" > "specialCharacters", JString "!@#$%^&*()" > "emptyArray", JArray [[]] > "emptyObject", JObject Map.empty > "nestedArrays", JArray [[ > JArray [[ JNumber 1.0; JNumber 2.0; JNumber 3.0 ]] > JArray [[ JNumber 4.0; JNumber 5.0; JNumber 6.0 ]] > ]] > "object", JObject ( > Map.ofList [[ > "nestedString", JString "Nested Value" > "nestedNumber", JNumber 3.14 > "nestedBoolean", JBool false > "nestedNull", JNull > "nestedArray", JArray [[JString "a"; JString "b"; > JString "c"]] > "nestedObject", JObject ( > Map.ofList [[ > "nestedProperty", JString "Nested Object Value" > ]] > ) > ]] > ) > "nestedObjects", JArray [[ > JObject (Map.ofList [[ "name", JString "Alice"; "age", JNumber > 25.0 ]]) > JObject (Map.ofList [[ "name", JString "Bob"; "age", JNumber > 30.0 ]]) > ]] > ]] > ) > ) > ) > > ╭─[ 354.80ms - return value ]──────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject<br /> (map<br /> │ > │ [("array",<br /> JArray<br /> [JNumber 1.0; │ > │ JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber 5.0]);<br /> │ > │ ("boolean", JBool true); ("emptyArray", JArray []);<br │ > │ /> ("emptyObject", JObject (map []));<br /> │ > │ ("escapedString", JString "This │ > │ s...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │ > │ td>Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JObject<br /> (map<br /> [ │ > │ ("array",<br /> JArray [JNumber 1.0; JNumber 2.0; JNumber │ > │ 3.0; JNumber 4.0; JNumber 5.0]);<br /> ("boolean", JBool │ > │ true); ("emptyArray", JArray []);<br /> │ > │ ("emptyObject", JObject (map []));<br /> │ > │ ("escapedString", JString "This string contains \/\\\b\f<br │ > │ />\r\t\"\'");<br /> │ > │ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject<br /> (map<br /> [ │ > │ ("array",<br /> JArray [JNumber 1.0; JNumber 2.0; JNumber │ > │ 3.0; JNumber 4.0; JNumber 5.0]);<br /> ("boolean", JBool │ > │ true); ("emptyArray", JArray []);<br /> │ > │ ("emptyObject", JObject (map []));<br /> ("esc... │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 357.75ms - stdout ]────────────────────────────────────────────────────────╮ > │ JObject │ > │ (map │ > │ [("array", │ > │ JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber │ > │ 5.0]); │ > │ ("boolean", JBool true); ("emptyArray", JArray []); │ > │ ("emptyObject", JObject (map [])); │ > │ ("escapedString", JString "This string contains \/\\\b\f\n\r\t\"\'"); │ > │ ("nestedArrays", │ > │ JArray │ > │ [JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0]; │ > │ JArray [JNumber 4.0; JNumber 5.0; JNumber 6.0]]); │ > │ ("nestedObjects", │ > │ JArray │ > │ [JObject (map [("age", JNumber 25.0); ("name", JString "Alice")]); │ > │ JObject (map [("age", JNumber 30.0); ("name", JString "Bob")])]); │ > │ ("nullValue", JNull); ("number", JNumber 42.0); ...]) │ > │ JObject │ > │ (map │ > │ [("array", JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; │ > │ JNumber 5.0]); ("boolean", JBool true); │ > │ ("emptyArray", JArray []); ("emptyObject", JObject (map [])); │ > │ ("escapedString", JString "This string contains \/\\\b\f\n\r\t\"\'"); │ > │ ("nestedArrays", │ > │ JArray [JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0]; JArray [ │ > │ JNumber 4.0; JNumber 5.0; JNumber 6.0]]); │ > │ ("nestedObjects", │ > │ JArray │ > │ [JObject (map [("age", JNumber 25.0); ("name", JString "Alice")]); │ > │ JObject (map [("age", JNumber 30.0); ("name", JString "Bob")])]); │ > │ ("nullValue", JNull); │ > │ ("number", JNumber 42.0); ...]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 202509 00:00:15 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None) 00:00:15 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb to html 00:00:15 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:15 verbose #7 ! validate(nb) 00:00:16 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:16 verbose #9 ! return _pygments_highlight( 00:00:16 verbose #10 ! [NbConvertApp] Writing 532432 bytes to /home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.html 00:00:16 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 906 00:00:16 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 906 00:00:16 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None) 00:00:17 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0 00:00:17 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0 00:00:17 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 203474 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Parser.dib"]) 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Parser (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Notebooks.dib > #!import ../../lib/fsharp/Testing.dib > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp > NetCore.Html.Abstractions.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.Formatting.dll" > open System > open System.IO > open System.Text > open Microsoft.DotNet.Interactive.Formatting > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > open type Microsoft.DotNet.Interactive.Kernel > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer: > TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > Formatter.ListExpansionLimit <- 100 > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]] > #endif > type Mut<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Co... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]] > #endif > type async_std_task_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]] > #endif > type std_future_Future<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]] > #endif > type rayon_vec_IntoIter<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]] > #endif > type rayon_iter_Map<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]] > #endif > type futures_lite_stream_StreamExt = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]] > #endif > type futures_future_TryJoinAll<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]] > #endif > type futures_future_Fuse<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]] > #endif > type futures_future_JoinAll<'T> = class end > let rec closure0 () (v0 : System.Threading.CancellationToken) : > Async<System.Threading.CancellationToken> = > let v1 : bool = true > let mutable _v1 : Async<System.Threading.CancellationToken> option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT > let v2 : Async<System.Threading.CancellationToken> = null |> > unbox<Async<System... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]] > #endif > type std_thread_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]] > #endif > type std_sync_Arc<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]] > #endif > type std_sync_Mutex<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]] > #endif > type std_sync_MutexGuard<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]] > #endif > type std_sync_PoisonError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]] > #endif > type std_sync_mpsc_Receiver<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]] > #endif > type std_sync_mpsc_SendError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]] > #endif > type std_sync_mpsc_Sender<'T> = class end > type Disposable (f : unit -> unit) = interface System.IDisposable with member > _.Dispose () = f () > type [[<Struct>]] US0 = > | US0_0 of f0_0 : System.Threading.CancellationToken > | US0_1 > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit = > let v1 : bool = true > let mutable _v1 : unit option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]] > #endif > type reqwest_Error = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]] > #endif > type reqwest_RequestBuilder = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]] > #endif > type reqwest_Response = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]] > #endif > type clap_Arg = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]] > #endif > type clap_ArgAction = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]] > #endif > type clap_Command = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]] > #endif > type clap_ArgMatches = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]] > #endif > type clap_builder_ValueRange = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]] > #endif > type clap_builder_ValueParser = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]] > #endif > type clap_builder_PossibleValue = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]] > #endif > type std_process_Child = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]] > #endif > type std_process_ChildStderr = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]] > #endif > type std_process_ChildStdout = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]] > #endif > type std_process_ChildStdin = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]] > #endif > type std_process_Command = class ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]] > #endif > type std_fs_File = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]] > #endif > type std_fs_FileType = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]] > #endif > type std_path_Display = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]] > #endif > type std_path_Path = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]] > #endif > type std_path_PathBuf = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]] > #endif > type async_walkdir_DirEntry = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]] > #endif > type async_walkdir_Filtering = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]] > #endif > type async_walkdir_WalkDir = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = clas... > > ── fsharp - import ───────────────────────────────────────────────────────────── > module SpiralTrace = > let trace x = > #if !INTERACTIVE > Trace.trace x > #else > trace x > #endif > > type TraceLevel = > #if !INTERACTIVE > Trace.US0 > #else > US0 > #endif > > module SpiralCrypto = > let hash_text x = > #if !INTERACTIVE > Crypto.hash_text x > #else > hash_text x > #endif > > #if !FABLE_COMPILER && !WASM && !CONTRACT > > module SpiralAsync = > let merge_cancellation_token_with_default_async x = > #if !INTERACTIVE > Async_.merge_cancellation_token_with_default_async x > #else > merge_cancellation_token_with_default_async x > #endif > > module SpiralThreading = > let new_disposable_token x = > #if !INTERACTIVE > Threading.new_disposable_token x > #else > new_disposable_token x > #endif > > module SpiralNetworking = > let test_port_open x = > #if !INTERACTIVE > Networking.test_port_open x > #else > test_port_open x > #endif > > let test_port_open_timeout x = > #if !INTERACTIVE > Networking.test_port_open_timeout x > #else > test_port_open_timeout x > #endif > > let wait_for_port_access x = > #if !INTERACTIVE > Networking.wait_for_port_access x > #else > wait_for_port_access x > #endif > > let get_available_port x = > #if !INTERACTIVE > Networking.get_available_port x > #else > get_available_port x > #endif > > module SpiralRuntime = > let get_executable_suffix () = > #if !INTERACTIVE > Runtime.get_executable_suffix () > #else > get_executable_suffix () > #endif > > let is_windows () = > #if !INTERACTIVE > ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > type AssertExceptionFormatter (ex) = > member _.Text = > ex.ToString() > .Replace("32m", "<span style=\"color: green;\">") > .Replace("36m", "</span>") > .Replace("31m", "<span style=\"color: red;\">") > .Replace("\n", "<br/>\n") > > > Formatter.Register<AssertExceptionFormatter> ((fun (x : > AssertExceptionFormatter) -> x.Text), "text/html") > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __expect fn log expected actual = > if log then printfn $"{actual.ToDisplayString ()}" > try > "Testing.__expect" |> fn actual expected > with :? Expecto.AssertException as ex -> > AssertExceptionFormatter(ex).Display () |> ignore > failwith (ex.GetType().FullName) > > let inline __contains log expected actual = __expect Expecto.Expect.contains log > expected actual > let inline _contains expected actual = __contains true expected actual > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log > expected actual > let inline _assertEqual expected actual = __assertEqual true expected actual > > let inline __isGreaterThan log expected actual = __expect > Expecto.Expect.isGreaterThan log expected actual > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual > > let inline __isGreaterThanOrEqual log expected actual = __expect > Expecto.Expect.isGreaterThanOrEqual log expected actual > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true > expected actual > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan > log expected actual > let inline _isLessThan expected actual = __isLessThan true expected actual > > let inline __isLessThanOrEqual log expected actual = __expect > Expecto.Expect.isLessThanOrEqual log expected actual > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true > expected actual > > let inline __sequenceEqual log expected actual = __expe... > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __isBetween log a b actual = > let inline isBetween actual (a, b) _ = > __isGreaterThanOrEqual log a actual > __isLessThanOrEqual log b actual > __expect isBetween log (a, b) actual > let inline _isBetween a b actual = __isBetween true a b actual > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Common.fs > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Common = > > #if !INTERACTIVE > open Lib > #endif > > let nl = System.Environment.NewLine > let q = @"""" > > let inline cons head tail = head :: tail > > /// ## memoize > let inline memoize fn = > let result = lazy fn () > fun () -> result.Value > > /// ## TraceLevel > type TraceLevel = > | Verbose > | Debug > | Info > | Warning > | Critical > > let inline _locals () = "" > > /// ## trace > let to_trace_level = function > | Verbose -> SpiralTrace.TraceLevel.US0_0 > | Debug -> SpiralTrace.TraceLevel.US0_1 > | Info -> SpiralTrace.TraceLevel.US0_2 > | Warning -> SpiralTrace.TraceLevel.US0_3 > | Critical -> SpiralTrace.TraceLevel.US0_4 > > let trace level fn locals = > let level = level |> to_trace_level > SpiralTrace.trace level fn locals > > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### TextInput │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Position = > { > line : int > column : int > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let initialPos = { line = 0; column = 0 } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline incrCol (pos : Position) = > { pos with column = pos.column + 1 } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline incrLine pos = > { line = pos.line + 1; column = 0 } > > ── fsharp ────────────────────────────────────────────────────────────────────── > type InputState = > { > lines : string[[]] > position : Position > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline fromStr str = > { > lines = > if str |> String.IsNullOrEmpty > then [[||]] > else str |> SpiralSm.split_string [[| "\r\n"; "\n" |]] > position = initialPos > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > fromStr "" |> _assertEqual { > lines = [[||]] > position = { line = 0; column = 0 } > } > > ╭─[ 38.94ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [||] │ > │ position = { line = 0 │ > │ column = 0 } } │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > fromStr "Hello \n World" |> _assertEqual { > lines = [[| "Hello "; " World" |]] > position = { line = 0; column = 0 } > } > > ╭─[ 13.74ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [|"Hello "; " World"|] │ > │ position = { line = 0 │ > │ column = 0 } } │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline currentLine inputState = > let linePos = inputState.position.line > if linePos < inputState.lines.Length > then inputState.lines.[[linePos]] > else "end of file" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline nextChar input = > let linePos = input.position.line > let colPos = input.position.column > > if linePos >= input.lines.Length > then input, None > else > let currentLine = currentLine input > if colPos < currentLine.Length then > let char = currentLine.[[colPos]] > let newPos = incrCol input.position > let newState = { input with position = newPos } > newState, Some char > else > let char = '\n' > let newPos = incrLine input.position > let newState = { input with position = newPos } > newState, Some char > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let newInput, charOpt = fromStr "Hello World" |> nextChar > > newInput |> _assertEqual { > lines = [[| "Hello World" |]] > position = { line = 0; column = 1 } > } > charOpt |> _assertEqual (Some 'H') > > ╭─[ 28.04ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [|"Hello World"|] │ > │ position = { line = 0 │ > │ column = 1 } } │ > │ │ > │ Some 'H' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let newInput, charOpt = fromStr "Hello\n\nWorld" |> nextChar > > newInput |> _assertEqual { > lines = [[| "Hello"; ""; "World" |]] > position = { line = 0; column = 1 } > } > charOpt |> _assertEqual (Some 'H') > > ╭─[ 20.18ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [|"Hello"; ""; "World"|] │ > │ position = { line = 0 │ > │ column = 1 } } │ > │ │ > │ Some 'H' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### Parser │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Input = InputState > type ParserLabel = string > type ParserError = string > > type ParserPosition = > { > currentLine : string > line : int > column : int > } > > type ParseResult<'a> = > | Success of 'a > | Failure of ParserLabel * ParserError * ParserPosition > > type Parser<'a> = > { > label : ParserLabel > parseFn : Input -> ParseResult<'a * Input> > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline printResult result = > match result with > | Success (value, input) -> > printfn $"%A{value}" > | Failure (label, error, parserPos) -> > let errorLine = parserPos.currentLine > let colPos = parserPos.column > let linePos = parserPos.line > let failureCaret = $"{' ' |> string |> String.replicate colPos}^{error}" > printfn $"Line:%i{linePos} Col:%i{colPos} Error parsing > %s{label}\n%s{errorLine}\n%s{failureCaret}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline runOnInput parser input = > parser.parseFn input > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline run parser inputStr = > runOnInput parser (fromStr inputStr) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline parserPositionFromInputState (inputState : Input) = > { > currentLine = currentLine inputState > line = inputState.position.line > column = inputState.position.column > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getLabel parser = > parser.label > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline setLabel parser newLabel = > { > label = newLabel > parseFn = fun input -> > match parser.parseFn input with > | Success s -> Success s > | Failure (oldLabel, err, pos) -> Failure (newLabel, err, pos) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<?>) = setLabel > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline satisfy predicate label = > { > label = label > parseFn = fun input -> > let remainingInput, charOpt = nextChar input > match charOpt with > | None -> > let err = "No more input" > let pos = parserPositionFromInputState input > Failure (label, err, pos) > | Some first -> > if predicate first > then Success (first, remainingInput) > else > let err = $"Unexpected '%c{first}'" > let pos = parserPositionFromInputState input > Failure (label, err, pos) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > runOnInput parser input |> _assertEqual ( > Success ( > 'H', > { > lines = [[| "Hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 26.76ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('H', { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "World" > let parser = satisfy (fun c -> c = 'H') "H" > runOnInput parser input |> _assertEqual ( > Failure ( > "H", > "Unexpected 'W'", > { > currentLine = "World" > line = 0 > column = 0 > } > ) > ) > > ╭─[ 21.62ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("H", "Unexpected 'W'", { currentLine = "World" │ > │ line = 0 │ > │ column = 0 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline bindP f p = > { > label = "unknown" > parseFn = fun input -> > match runOnInput p input with > | Failure (label, err, pos) -> Failure (label, err, pos) > | Success (value1, remainingInput) -> runOnInput (f value1) > remainingInput > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (>>=) p f = bindP f p > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e" > runOnInput parser2 input |> _assertEqual ( > Success ( > 'e', > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 29.16ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('e', { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "World" > let parser = satisfy (fun c -> c = 'W') "W" > let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e" > runOnInput parser2 input |> _assertEqual ( > Failure ( > "e", > "Unexpected 'o'", > { > currentLine = "World" > line = 0 > column = 1 > } > ) > ) > > ╭─[ 29.32ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("e", "Unexpected 'o'", { currentLine = "World" │ > │ line = 0 │ > │ column = 1 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline returnP x = > { > label = $"%A{x}" > parseFn = fun input -> Success (x, input) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = returnP "Hello" > runOnInput parser input |> _assertEqual ( > Success ( > "Hello", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 0 } > } > ) > ) > > ╭─[ 16.93ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("Hello", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline mapP f = > bindP (f >> returnP) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<!>) = mapP > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (|>>) x f = f <!> x > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = parser |>> string > runOnInput parser2 input |> _assertEqual ( > Success ( > "H", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 24.96ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("H", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline applyP fP xP = > fP >>= > fun f -> > xP >>= > fun x -> > returnP (f x) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<*>) = applyP > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline lift2 f xP yP = > returnP f <*> xP <*> yP > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'e') "e" > let parser3 = lift2 (fun c1 c2 -> string c1 + string c2) parser parser2 > runOnInput parser3 input |> _assertEqual ( > Success ( > "He", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 39.43ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("He", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline andThen p1 p2 = > p1 >>= > fun p1Result -> > p2 >>= > fun p2Result -> > returnP (p1Result, p2Result) > <?> $"{getLabel p1} andThen {getLabel p2}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (.>>.) = andThen > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'e') "e" > let parser3 = parser .>>. parser2 > runOnInput parser3 input |> _assertEqual ( > Success ( > ('H', 'e'), > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 30.81ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (('H', 'e'), { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline orElse p1 p2 = > { > label = $"{getLabel p1} orElse {getLabel p2}" > parseFn = fun input -> > match runOnInput p1 input with > | Success _ as result -> result > | Failure _ -> runOnInput p2 input > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<|>) = orElse > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'h') "h" > let parser3 = parser <|> parser2 > runOnInput parser3 input |> _assertEqual ( > Success ( > 'h', > { > lines = [[| "hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 26.71ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('h', { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline choice listOfParsers = > listOfParsers |> List.reduce (<|>) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'h') "h" > let parser3 = choice [[ parser; parser2 ]] > runOnInput parser3 input |> _assertEqual ( > Success ( > 'h', > { > lines = [[| "hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 26.23ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('h', { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let rec sequence parserList = > match parserList with > | [[]] -> returnP [[]] > | head :: tail -> (lift2 cons) head (sequence tail) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'e') "e" > let parser3 = sequence [[ parser; parser2 ]] > runOnInput parser3 input |> _assertEqual ( > Success ( > [[ 'H'; 'e' ]], > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 33.95ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (['H'; 'e'], { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let rec parseZeroOrMore parser input = > match runOnInput parser input with > | Failure (_, _, _) -> > [[]], input > | Success (firstValue, inputAfterFirstParse) -> > let subsequentValues, remainingInput = parseZeroOrMore parser > inputAfterFirstParse > firstValue :: subsequentValues, remainingInput > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline many parser = > { > label = $"many {getLabel parser}" > parseFn = fun input -> Success (parseZeroOrMore parser input) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = many parser > runOnInput parser2 input |> _assertEqual ( > Success ( > [[]], > { > lines = [[| "hello" |]] > position = { line = 0; column = 0 } > } > ) > ) > > ╭─[ 23.33ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ([], { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline many1 p = > p >>= > fun head -> > many p >>= > fun tail -> > returnP (head :: tail) > <?> $"many1 {getLabel p}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = many1 parser > runOnInput parser2 input |> _assertEqual ( > Failure ( > "many1 H", > "Unexpected 'h'", > { > currentLine = "hello" > line = 0 > column = 0 > } > ) > ) > > ╭─[ 64.07ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("many1 H", "Unexpected 'h'", { currentLine = "hello" │ > │ line = 0 │ > │ column = 0 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline opt p = > let some = p |>> Some > let none = returnP None > (some <|> none) > <?> $"opt {getLabel p}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = opt parser > runOnInput parser2 input |> _assertEqual ( > Success ( > None, > { > lines = [[| "hello" |]] > position = { line = 0; column = 0 } > } > ) > ) > > ╭─[ 28.21ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (None, { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (.>>) p1 p2 = > p1 .>>. p2 > |> mapP fst > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (>>.) p1 p2 = > p1 .>>. p2 > |> mapP snd > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline between p1 p2 p3 = > p1 >>. p2 .>> p3 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "[[Hello]]" > let parser = > between > (satisfy (fun c -> c = '[[') "[[") > (many (satisfy (fun c -> [[ 'a' .. 'z' ]] @ [[ 'A' .. 'Z' ]] |> > List.contains c) "letter")) > (satisfy (fun c -> c = ']]') "]]") > runOnInput parser input |> _assertEqual ( > Success ( > [[ 'H'; 'e'; 'l'; 'l'; 'o' ]], > { > lines = [[| "[[Hello]]" |]] > position = { line = 0; column = 7 } > } > ) > ) > > ╭─[ 86.28ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (['H'; 'e'; 'l'; 'l'; 'o'], { lines = [|"[Hello]"|] │ > │ position = { line = 0 │ > │ column = 7 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sepBy1 p sep = > let sepThenP = sep >>. p > p .>>. many sepThenP > |>> fun (p, pList) -> p :: pList > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sepBy p sep = > sepBy1 p sep <|> returnP [[]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello,World" > let parser = sepBy (many (satisfy (fun c -> c <> ',') "not comma")) (satisfy > (fun c -> c = ',') "comma") > runOnInput parser input |> _assertEqual ( > Success ( > [[ [[ 'H'; 'e'; 'l'; 'l'; 'o' ]]; [[ 'W'; 'o'; 'r'; 'l'; 'd'; '\n' ]] > ]], > { > lines = [[| "Hello,World" |]] > position = { line = 1; column = 0 } > } > ) > ) > > ╭─[ 57.06ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ([['H'; 'e'; 'l'; 'l'; 'o']; ['W'; 'o'; 'r'; 'l'; 'd'; '\010']], { │ > │ lines = [|"Hello,World"|] │ > │ │ > │ position = { line = 1 │ > │ │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline pchar charToMatch = > satisfy ((=) charToMatch) $"%c{charToMatch}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline anyOf listOfChars = > listOfChars > |> List.map pchar > |> choice > <?> $"anyOf %A{listOfChars}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = anyOf [[ 'H'; 'e'; 'l'; 'o' ]] |> many > runOnInput parser input |> _assertEqual ( > Success ( > [[ 'H'; 'e'; 'l'; 'l'; 'o' ]], > { > lines = [[| "Hello" |]] > position = { line = 0; column = 5 } > } > ) > ) > > ╭─[ 29.64ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (['H'; 'e'; 'l'; 'l'; 'o'], { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 5 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline charListToStr charList = > charList |> List.toArray |> String > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline manyChars cp = > many cp > |>> charListToStr > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline manyChars1 cp = > many1 cp > |>> charListToStr > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = manyChars1 (anyOf [[ 'H'; 'e'; 'l'; 'o' ]]) > runOnInput parser input |> _assertEqual ( > Success ( > "Hello", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 5 } > } > ) > ) > > ╭─[ 40.06ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("Hello", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 5 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline pstring str = > str > |> List.ofSeq > |> List.map pchar > |> sequence > |> mapP charListToStr > <?> str > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = pstring "Hello" > runOnInput parser input |> _assertEqual ( > Success ( > "Hello", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 5 } > } > ) > ) > > ╭─[ 32.80ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("Hello", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 5 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let whitespaceChar = > satisfy Char.IsWhiteSpace "whitespace" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let spaces = many whitespaceChar > > ── fsharp ────────────────────────────────────────────────────────────────────── > let spaces1 = many1 whitespaceChar > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr " Hello" > let parser = spaces1 .>>. pstring "Hello" > runOnInput parser input |> _assertEqual ( > Success ( > ([[ ' '; ' ' ]], "Hello"), > { > lines = [[| " Hello" |]] > position = { line = 0; column = 7 } > } > ) > ) > > ╭─[ 36.95ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (([' '; ' '], "Hello"), { lines = [|" Hello"|] │ > │ position = { line = 0 │ > │ column = 7 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let digitChar = > satisfy Char.IsDigit "digit" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = digitChar > runOnInput parser input |> _assertEqual ( > Failure ( > "digit", > "Unexpected 'H'", > { > currentLine = "Hello" > line = 0 > column = 0 > } > ) > ) > > ╭─[ 14.86ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("digit", "Unexpected 'H'", { currentLine = "Hello" │ > │ line = 0 │ > │ column = 0 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let pint = > let inline resultToInt (sign, digits) = > let i = int digits > match sign with > | Some ch -> -i > | None -> i > > let digits = manyChars1 digitChar > > opt (pchar '-') .>>. digits > |> mapP resultToInt > <?> "integer" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run pint "-123" > |> _assertEqual ( > Success ( > -123, > { > lines = [[| "-123" |]] > position = { line = 0; column = 4 } > } > ) > ) > > ╭─[ 19.51ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (-123, { lines = [|"-123"|] │ > │ position = { line = 0 │ > │ column = 4 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let pfloat = > let inline resultToFloat (((sign, digits1), point), digits2) = > let fl = float $"{digits1}.{digits2}" > match sign with > | Some ch -> -fl > | None -> fl > > let digits = manyChars1 digitChar > > opt (pchar '-') .>>. digits .>>. pchar '.' .>>. digits > |> mapP resultToFloat > <?> "float" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run pfloat "-123.45" > |> _assertEqual ( > Success ( > -123.45, > { > lines = [[| "-123.45" |]] > position = { line = 0; column = 7 } > } > ) > ) > > ╭─[ 21.20ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (-123.45, { lines = [|"-123.45"|] │ > │ position = { line = 0 │ > │ column = 7 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline createParserForwardedToRef<'a> () = > let mutable parserRef : Parser<'a> = > { > label = "unknown" > parseFn = fun _ -> failwith "unfixed forwarded parser" > } > > let wrapperParser = > { parserRef with > parseFn = fun input -> runOnInput parserRef input > } > > wrapperParser, (fun v -> parserRef <- v) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (>>%) p x = > p > |>> fun _ -> x 00:00:13 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 63713 00:00:13 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None) 00:00:13 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb to html 00:00:13 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:13 verbose #7 ! validate(nb) 00:00:14 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:14 verbose #9 ! return _pygments_highlight( 00:00:14 verbose #10 ! [NbConvertApp] Writing 413689 bytes to /home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.html 00:00:14 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 898 00:00:14 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 898 00:00:14 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None) 00:00:15 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0 00:00:15 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0 00:00:15 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 64670 00:00:00 debug #1 writeDibCode / output: Fs / path: JsonParser.dib 00:00:00 debug #1 writeDibCode / output: Fs / path: Parser.dib 00:00:00 debug #3 parseDibCode / output: Fs / file: Parser.dib 00:00:00 debug #3 parseDibCode / output: Fs / file: JsonParser.dib
In [ ]:
{ pwsh ../apps/spiral/build.ps1 } | Invoke-Block
00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Supervisor.dib", "--retries", "3"]) 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Supervisor (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com > mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli > ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ > 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" > #r > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha > rp.Json.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp > NetCore.Html.Abstractions.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.Formatting.dll" > open System > open System.IO > open System.Text > open Microsoft.DotNet.Interactive.Formatting > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > open type Microsoft.DotNet.Interactive.Kernel > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer: > TextWriter)->fprintfn writer "%120A" x) > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Notebooks.dib > #!import ../../lib/fsharp/Testing.dib > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > Formatter.ListExpansionLimit <- 100 > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]] > #endif > type Mut<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Co... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]] > #endif > type async_std_task_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]] > #endif > type std_future_Future<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]] > #endif > type rayon_vec_IntoIter<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]] > #endif > type rayon_iter_Map<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]] > #endif > type futures_lite_stream_StreamExt = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]] > #endif > type futures_future_TryJoinAll<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]] > #endif > type futures_future_Fuse<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]] > #endif > type futures_future_JoinAll<'T> = class end > let rec closure0 () (v0 : System.Threading.CancellationToken) : > Async<System.Threading.CancellationToken> = > let v1 : bool = true > let mutable _v1 : Async<System.Threading.CancellationToken> option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT > let v2 : Async<System.Threading.CancellationToken> = null |> > unbox<Async<System... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]] > #endif > type std_thread_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]] > #endif > type std_sync_Arc<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]] > #endif > type std_sync_Mutex<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]] > #endif > type std_sync_MutexGuard<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]] > #endif > type std_sync_PoisonError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]] > #endif > type std_sync_mpsc_Receiver<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]] > #endif > type std_sync_mpsc_SendError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]] > #endif > type std_sync_mpsc_Sender<'T> = class end > type Disposable (f : unit -> unit) = interface System.IDisposable with member > _.Dispose () = f () > type [[<Struct>]] US0 = > | US0_0 of f0_0 : System.Threading.CancellationToken > | US0_1 > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit = > let v1 : bool = true > let mutable _v1 : unit option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]] > #endif > type reqwest_Error = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]] > #endif > type reqwest_RequestBuilder = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]] > #endif > type reqwest_Response = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]] > #endif > type clap_Arg = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]] > #endif > type clap_ArgAction = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]] > #endif > type clap_Command = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]] > #endif > type clap_ArgMatches = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]] > #endif > type clap_builder_ValueRange = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]] > #endif > type clap_builder_ValueParser = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]] > #endif > type clap_builder_PossibleValue = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]] > #endif > type std_process_Child = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]] > #endif > type std_process_ChildStderr = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]] > #endif > type std_process_ChildStdout = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]] > #endif > type std_process_ChildStdin = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]] > #endif > type std_process_Command = class ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]] > #endif > type std_fs_File = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]] > #endif > type std_fs_FileType = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]] > #endif > type std_path_Display = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]] > #endif > type std_path_Path = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]] > #endif > type std_path_PathBuf = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]] > #endif > type async_walkdir_DirEntry = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]] > #endif > type async_walkdir_Filtering = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]] > #endif > type async_walkdir_WalkDir = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = clas... > > ── fsharp - import ───────────────────────────────────────────────────────────── > module SpiralTrace = > let trace x = > #if !INTERACTIVE > Trace.trace x > #else > trace x > #endif > > type TraceLevel = > #if !INTERACTIVE > Trace.US0 > #else > US0 > #endif > > module SpiralCrypto = > let hash_text x = > #if !INTERACTIVE > Crypto.hash_text x > #else > hash_text x > #endif > > #if !FABLE_COMPILER && !WASM && !CONTRACT > > module SpiralAsync = > let merge_cancellation_token_with_default_async x = > #if !INTERACTIVE > Async_.merge_cancellation_token_with_default_async x > #else > merge_cancellation_token_with_default_async x > #endif > > module SpiralThreading = > let new_disposable_token x = > #if !INTERACTIVE > Threading.new_disposable_token x > #else > new_disposable_token x > #endif > > module SpiralNetworking = > let test_port_open x = > #if !INTERACTIVE > Networking.test_port_open x > #else > test_port_open x > #endif > > let test_port_open_timeout x = > #if !INTERACTIVE > Networking.test_port_open_timeout x > #else > test_port_open_timeout x > #endif > > let wait_for_port_access x = > #if !INTERACTIVE > Networking.wait_for_port_access x > #else > wait_for_port_access x > #endif > > let get_available_port x = > #if !INTERACTIVE > Networking.get_available_port x > #else > get_available_port x > #endif > > module SpiralRuntime = > let get_executable_suffix () = > #if !INTERACTIVE > Runtime.get_executable_suffix () > #else > get_executable_suffix () > #endif > > let is_windows () = > #if !INTERACTIVE > ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > type AssertExceptionFormatter (ex) = > member _.Text = > ex.ToString() > .Replace("32m", "<span style=\"color: green;\">") > .Replace("36m", "</span>") > .Replace("31m", "<span style=\"color: red;\">") > .Replace("\n", "<br/>\n") > > > Formatter.Register<AssertExceptionFormatter> ((fun (x : > AssertExceptionFormatter) -> x.Text), "text/html") > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __expect fn log expected actual = > if log then printfn $"{actual.ToDisplayString ()}" > try > "Testing.__expect" |> fn actual expected > with :? Expecto.AssertException as ex -> > AssertExceptionFormatter(ex).Display () |> ignore > failwith (ex.GetType().FullName) > > let inline __contains log expected actual = __expect Expecto.Expect.contains log > expected actual > let inline _contains expected actual = __contains true expected actual > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log > expected actual > let inline _assertEqual expected actual = __assertEqual true expected actual > > let inline __isGreaterThan log expected actual = __expect > Expecto.Expect.isGreaterThan log expected actual > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual > > let inline __isGreaterThanOrEqual log expected actual = __expect > Expecto.Expect.isGreaterThanOrEqual log expected actual > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true > expected actual > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan > log expected actual > let inline _isLessThan expected actual = __isLessThan true expected actual > > let inline __isLessThanOrEqual log expected actual = __expect > Expecto.Expect.isLessThanOrEqual log expected actual > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true > expected actual > > let inline __sequenceEqual log expected actual = __expe... > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __isBetween log a b actual = > let inline isBetween actual (a, b) _ = > __isGreaterThanOrEqual log a actual > __isLessThanOrEqual log b actual > __expect isBetween log (a, b) actual > let inline _isBetween a b actual = __isBetween true a b actual > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Common.fs > #!import ../../lib/fsharp/CommonFSharp.fs > #!import ../../lib/fsharp/Async.fs > #!import ../../lib/fsharp/AsyncSeq.fs > #!import ../../lib/fsharp/Runtime.fs > #!import ../../lib/fsharp/FileSystem.fs > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Common = > > #if !INTERACTIVE > open Lib > #endif > > let nl = System.Environment.NewLine > let q = @"""" > > let inline cons head tail = head :: tail > > /// ## memoize > let inline memoize fn = > let result = lazy fn () > fun () -> result.Value > > /// ## TraceLevel > type TraceLevel = > | Verbose > | Debug > | Info > | Warning > | Critical > > let inline _locals () = "" > > /// ## trace > let to_trace_level = function > | Verbose -> SpiralTrace.TraceLevel.US0_0 > | Debug -> SpiralTrace.TraceLevel.US0_1 > | Info -> SpiralTrace.TraceLevel.US0_2 > | Warning -> SpiralTrace.TraceLevel.US0_3 > | Critical -> SpiralTrace.TraceLevel.US0_4 > > let trace level fn locals = > let level = level |> to_trace_level > SpiralTrace.trace level fn locals > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module CommonFSharp = > > open Common > > /// ## getUnionCaseName > let inline getUnionCaseName<'T> (x: 'T) = > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with > | case, _ -> case.Name > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Async = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## choice > let inline choice asyncs = async { > let e = Event<_> () > use cts = new System.Threading.CancellationTokenSource () > let fn = > asyncs > |> Seq.map (fun a -> async { > let! x = a > e.Trigger x > }) > |> Async.Parallel > |> Async.Ignore > Async.Start (fn, cts.Token) > let! result = Async.AwaitEvent e.Publish > cts.Cancel () > return result > } > > /// ## map > let inline map fn a = async { > let! x = a > return fn x > } > > /// ## catch > let inline catch a = > a > |> Async.Catch > |> map (function > | Choice1Of2 result -> Ok result > | Choice2Of2 ex -> Error ex > ) > > /// ## runWithTimeoutChoiceAsync > let inline runWithTimeoutChoiceAsync (timeout : int) fn = > let _locals () = $"timeout: {timeout} / {_locals ()}" > > let timeoutTask = async { > do! Async.Sleep timeout > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals > return None > } > > let task = async { > try > let! result = fn > return Some result > with > | :? System.AggregateException as ex when > ex.InnerExceptions > |> Seq.exists (function :? Sys... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module AsyncSeq = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## subscribeEvent > let inline subscribeEvent (event: IEvent<'H, 'A>) map = > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, > 'A>(event.AddHandler, event.RemoveHandler) > System.Reactive.Linq.Observable.Select (observable, fun event -> map > event.EventArgs) > |> FSharp.Control.AsyncSeq.ofObservableBuffered > > /// ## subscribeToken > let subscribeToken (token : System.Threading.CancellationToken) = > let tcs = new System.Threading.Tasks.TaskCompletionSource () > System.Action tcs.SetResult |> token.Register |> ignore > let start = System.DateTime.Now.Ticks > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > do! tcs.Task |> Async.AwaitTask > return Some (System.DateTime.Now.Ticks - start, ()) > }) > () > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Runtime = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## parseArgs > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args = > let assemblyName = > System.Reflection.Assembly.GetEntryAssembly().GetName().Name > let errorHandler : Argu.IExiter = > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |> > List.contains assemblyName > then Argu.ExceptionExiter () > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | > _ -> Some System.ConsoleColor.Red) > > let parser = > Argu.ArgumentParser.Create<'T> ( > programName = > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}", > errorHandler = errorHandler > ) > > parser.ParseCommandLine args > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseArgs<'T> > |> fun results -> results.GetAllResults () > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseAllArgs<'T> > |> List.groupBy CommonFSharp.getUnionCaseName<'T> > |> Map.ofList > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module FileSystem = > > #if !INTERACTIVE > open Lib > #endif > > open Common > open SpiralFileSystem.Operators > > /// ## watchDirectory > [[<RequireQualifiedAccess>]] > type FileSystemChangeType = > | Failure > | Changed > | Created > | Deleted > | Renamed > > [[<RequireQualifiedAccess>]] > type FileSystemChange = > | Failure of exn: exn > | Changed of path: string * content: string option > | Created of path: string * content: string option > | Deleted of path: string > | Renamed of oldPath: string * (string * string option) > > > let inline watchDirectoryWithFilter filter shouldReadContent path = > let fullPath = path |> System.IO.Path.GetFullPath > let _locals () = $"filter: {filter} / {_locals ()}" > > let watcher = > new System.IO.FileSystemWatcher ( > Path = fullPath, > NotifyFilter = filter, > EnableRaisingEvents = true, > IncludeSubdirectories = true > ) > > let inline getEventPath (path : string) = > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |> > SpiralSm.trim_start [[| '/'; '\\' |]] > > let inline ticks () = > System.DateTime.UtcNow.Ticks > > let changedStream = > AsyncSeq.subscribeEvent > watcher.Changed > (fun event -> > ticks (), > [[ FileSystemChange... > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > open Microsoft.AspNetCore.SignalR.Client > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## sendJson │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendJson (port : int) (json : string) = async { > let host = "127.0.0.1" > let! portOpen = SpiralNetworking.test_port_open host port > if portOpen then > try > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{port}").Build() > do! connection.StartAsync () |> Async.AwaitTask > let! result = connection.InvokeAsync<string>("ClientToServerMsg", > json) |> Async.AwaitTask > do! connection.StopAsync () |> Async.AwaitTask > trace Verbose (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / result: {result |> Option.ofObj |> > Option.map (SpiralSm.ellipsis_end 200)}") _locals > return Some result > with ex -> > trace Critical (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / ex: {ex |> > SpiralSm.format_exception}") _locals > return None > else > trace Debug (fun () -> "Supervisor.sendJson / port: {port} / error: port > not open") _locals > return None > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## sendObj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendObj port obj = > obj > |> System.Text.Json.JsonSerializer.Serialize > |> sendJson port > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## awaitCompiler │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type VSCPos = {| line : int; character : int |} > type VSCRange = VSCPos * VSCPos > type RString = VSCRange * string > type TracedError = {| trace : string list; message : string |} > type ClientErrorsRes = > | FatalError of string > | TracedError of TracedError > | PackageErrors of {| uri : string; errors : RString list |} > | TokenizerErrors of {| uri : string; errors : RString list |} > | ParserErrors of {| uri : string; errors : RString list |} > | TypeErrors of {| uri : string; errors : RString list |} > > ── fsharp ────────────────────────────────────────────────────────────────────── > let workspaceRoot = SpiralFileSystem.get_workspace_root () > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline awaitCompiler port cancellationToken = async { > let host = "127.0.0.1" > let struct (ct, disposable) = cancellationToken |> > SpiralThreading.new_disposable_token > let! ct = ct |> SpiralAsync.merge_cancellation_token_with_default_async > > let compiler = MailboxProcessor.Start (fun inbox -> async { > let! availablePort = SpiralNetworking.get_available_port (Some 500) host > port > if availablePort <> port then > inbox.Post (port, false) > else > let compilerPath = > workspaceRoot </> "deps/The-Spiral-Language/The Spiral Language > 2/artifacts/bin/The Spiral Language 2/release" > |> System.IO.Path.GetFullPath > > let dllPath = compilerPath </> "Spiral.dll" > > let! exitCode, result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = Some ct > l1 = $@"dotnet ""{dllPath}"" --port {availablePort} > --default-int i32 --default-float f64" > l3 = Some (fun struct (_, line, _) -> async { > if line |> SpiralSm.contains > $"System.IO.IOException: Failed to bind to address http://{host}:{port}: address > already in use." then > inbox.Post (port, false) > > if line |> SpiralSm.contains $"Server bound to: > http://localhost:{availablePort}" then > let rec loop retry = async { > do! > SpiralNetworking.wait_for_port_access > (Some 100) true host availablePort > |> Async.runWithTimeoutAsync 2000 > |> Async.Ignore > > let _locals () = $"port: {availablePort} / > retry: {retry} / {_locals ()}" > try > let pingObj = {| Ping = true |} > let! pingResult = pingObj |> sendObj > availablePort > trace Verbose (fun () -> $"awaitCompiler > / Ping / result: '{pingResult}'") _locals > > inbox.Post (availablePort, true) > with ex -> > trace Verbose (fun () -> $"awaitCompiler > / Ping / ex: {ex |> SpiralSm.format_exception}") _locals > do! Async.Sleep 10 > do! loop (retry + 1) > } > do! loop 0 > }) > l6 = Some workspaceRoot > } > ) > |> SpiralRuntime.execute_with_options_async > > trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} / > result: {result}") _locals > disposable.Dispose () > }, ct) > > let! serverPort, managed = compiler.Receive () > > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{serverPort}").Build () > do! connection.StartAsync () |> Async.AwaitTask > > let event = Event<_> () > let disposable' = connection.On<string> ("ServerToClientMsg", event.Trigger) > let stream = > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > let! msg = event.Publish |> Async.AwaitEvent > return Some (msg |> > FSharp.Json.Json.deserialize<ClientErrorsRes>, ()) > }) > () > > let disposable' = > new_disposable (fun () -> > async { > disposable'.Dispose () > do! connection.StopAsync () |> Async.AwaitTask > disposable.Dispose () > if managed > then do! > SpiralNetworking.wait_for_port_access (Some 100) false host > serverPort > |> Async.runWithTimeoutAsync 2000 > |> Async.Ignore > } > |> Async.RunSynchronously > ) > > return > serverPort, > stream, > ct, > disposable' > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getFilePathFromUri │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getFilePathFromUri uri = > match System.Uri.TryCreate (uri, System.UriKind.Absolute) with > | true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath > | _ -> failwith "invalid uri" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getCompilerPort │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getCompilerPort () = > 13805 > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## serialize_obj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let serializeObj obj = > obj > |> FSharp.Json.Json.serialize > |> SpiralSm.replace "\\\\" "\\" > |> SpiralSm.replace "\\r\\n" "\n" > |> SpiralSm.replace "\\n" "\n" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildFile timeout port cancellationToken path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> SpiralFileSystem.read_all_text_async > > let stream, disposable = fileDir |> FileSystem.watchDirectory (fun _ -> > false) > use _ = disposable > > let struct (token, disposable) = SpiralThreading.new_disposable_token > cancellationToken > use _ = disposable > > let! serverPort, errors, ct, disposable = awaitCompiler port (Some token) > use _ = disposable > > let fsxContentSeq = > stream > |> FSharp.Control.AsyncSeq.chooseAsync (function > | _, (FileSystem.FileSystemChange.Changed (path, _)) > when (path |> System.IO.Path.GetFileName) = $"{fileName}.fsx" > -> > fileDir </> path |> > SpiralFileSystem.read_all_text_retry_async > | _ -> None |> Async.init > ) > |> FSharp.Control.AsyncSeq.map (fun content -> > Some (content |> SpiralSm.replace "\r\n" "\n"), None > ) > > let inline printErrorData (data : {| uri : string; errors : RString list |}) > = > let fileName = data.uri |> System.IO.Path.GetFileName > let errors = > data.errors > |> List.map snd > |> SpiralSm.concat "\n" > $"{fileName}:\n{errors}" > > let errorsSeq = > errors > |> FSharp.Control.AsyncSeq.choose (fun error -> > match error with > | FatalError message -> > Some (message, error) > | TracedError data -> > Some (data.message, error) > | PackageErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TokenizerErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | ParserErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TypeErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | _ -> None > ) > |> FSharp.Control.AsyncSeq.map (fun (message, error) -> > None, Some (message, error) > ) > > let timerSeq = > 1000 > |> FSharp.Control.AsyncSeq.intervalMs > |> FSharp.Control.AsyncSeq.map (fun _ -> None, None) > > let outputSeq = > [[ fsxContentSeq; errorsSeq; timerSeq ]] > |> FSharp.Control.AsyncSeq.mergeAll > > let! outputChild = > ((None, [[]], 0), outputSeq) > ||> FSharp.Control.AsyncSeq.scan ( > fun (fsxContentResult, errors, typeErrorCount) (fsxContent, error) > -> > match fsxContent, error with > | Some fsxContent, None -> Some fsxContent, errors, > typeErrorCount > | None, Some (_, FatalError "File main has a type error > somewhere in its path.") -> > fsxContentResult, errors, typeErrorCount + 1 > | None, Some error -> fsxContentResult, error :: errors, > typeErrorCount > | None, None when typeErrorCount >= 1 -> > fsxContentResult, errors, typeErrorCount + 1 > | _ -> fsxContentResult, errors, typeErrorCount > ) > |> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (fsxContent, errors, > typeErrorCount) -> > trace Debug (fun () -> $"buildFile / takeWhileInclusive / path: > {path} / fsxContent: {fsxContent |> Option.defaultValue System.String.Empty |> > SpiralSm.ellipsis_end 400} / errors: {errors |> serializeObj} / typeErrorCount: > {typeErrorCount}") _locals > #if INTERACTIVE > let errorWait = 2 > #else > let errorWait = 4 > #endif > match fsxContent, errors with > | None, [[]] when typeErrorCount > errorWait -> false > | None, [[]] -> true > | _ -> false > ) > |> FSharp.Control.AsyncSeq.tryLast > |> Async.withCancellationToken ct > |> Async.catch > |> Async.runWithTimeoutAsync timeout > |> Async.StartChild > > let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > > let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} |} > let! _fileOpenResult = fileOpenObj |> sendObj serverPort > > // do! Async.Sleep 60 > > let buildFileObj = {| BuildFile = {| uri = fullPathUri; backend = "Fsharp" > |} |} > let! _buildFileResult = buildFileObj |> sendObj serverPort > > let! result = > outputChild > |> Async.map (function > | Some (Ok (Some (fsxCode, errors, _))) -> > fsxCode, errors |> List.distinct |> List.rev > | Some (Error ex) -> > trace Critical (fun () -> $"buildFile / error: {ex |> > serializeObj}") _locals > None, [[]] > | _ -> None, [[]] > ) > > if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then > let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] |} |} > let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort > () > > let fsxPath = fileDir </> $"{fileName}.fsx" > return fsxPath, result > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## persistCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistCode code = async { > let targetDir = workspaceRoot </> "target/polyglot/spiral_eval" > > let packagesDir = targetDir </> "packages" > > let hashHex = code |> SpiralCrypto.hash_text > > let codeDir = packagesDir </> hashHex > > let mainPath = codeDir </> "main.spi" > > codeDir |> System.IO.Directory.CreateDirectory |> ignore > > do! code |> SpiralFileSystem.write_all_text_exists mainPath > > let spiprojPath = codeDir </> "package.spiproj" > let spiprojCode = > $"""packageDir: {workspaceRoot </> "lib"} > packages: > |core- > spiral- > modules: > main > """ > do! spiprojCode |> SpiralFileSystem.write_all_text_exists spiprojPath > > let fsxPath = codeDir </> "main.fsx" > > if fsxPath |> System.IO.File.Exists |> not > then return mainPath, None > else > let! oldCode = mainPath |> SpiralFileSystem.read_all_text_async > if oldCode <> code > then return mainPath, None > else > let! fsxCode = fsxPath |> SpiralFileSystem.read_all_text_async > return mainPath, Some (fsxPath, fsxCode |> SpiralSm.replace "\r\n" > "\n") > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildCode timeout cancellationToken code = async { > let! mainPath, fsx = code |> persistCode > match fsx with > | Some (fsxPath, fsxCode) -> return mainPath, (fsxPath, Some fsxCode), [[]] > | None -> > let port = getCompilerPort () > let! fsxPath, (fsxCode, errors) = mainPath |> buildFile timeout port > cancellationToken > return mainPath, (fsxPath, fsxCode), errors > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let buildCode timeout cancellationToken code = buildCode timeout > cancellationToken code > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl app () = > console.write_line "text" > 1i32 > > inl main () = > app > |> dyn > |> ignore > """ > |> buildCode 15000 None > |> Async.runWithTimeout 15000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some """let rec closure0 () () : int32 = > let v0 : string = "text" > System.Console.WriteLine v0 > 1 > let v0 : (unit -> int32) = closure0() > () > """, > [[]] > ) > ) > > ╭─[ 3.46s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:09 verbose #1 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:07 debug #1 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:09 verbose #2 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 │ > │ / timeout: Some 100 / status: True │ > │ 00:00:08 verbose #2 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:08 verbose #3 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:08 verbose #4 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:09 verbose #4 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #5 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #6 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #7 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #8 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #9 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #10 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #11 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #12 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #13 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #14 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #15 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #16 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #17 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #18 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #19 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #20 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #21 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #22 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #23 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #24 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #25 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #26 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #27 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:08 verbose #5 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:09 verbose #28 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #29 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #30 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:06 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:06 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:08 verbose #6 > Server bound to: http://localhost:13805 │ > │ 00:00:06 debug #3 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ad │ > │ 2ee90a0886647a7d9c334e1811a0c3ae5599125952e30eba9d5e3b57a56e0/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:06 debug #4 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ad │ > │ 2ee90a0886647a7d9c334e1811a0c3ae5599125952e30eba9d5e3b57a56e0/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:06 verbose #5 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl app () =\n console.write_line │ > │ \u0022text\u0022\n 1i32\n\ninl main │ > │ ...ot/spiral_eval/packages/0ad2ee90a0886647a7d9c334e1811a0c3ae5599125952e30e │ > │ ba9d5e3b57a56e0/main.spi"}} / result: │ > │ 00:00:06 verbose #6 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/0ad2ee90a0886647a7d9c334e1811a0c │ > │ 3ae5599125952e30eba9d5e3b57a56e0/main.spi"}} / result: │ > │ 00:00:09 verbose #7 > 00:00:01 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ad │ > │ 2ee90a0886647a7d9c334e1811a0c3ae5599125952e30eba9d5e3b57a56e0/main.spi │ > │ 00:00:07 debug #7 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ad │ > │ 2ee90a0886647a7d9c334e1811a0c3ae5599125952e30eba9d5e3b57a56e0/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:08 debug #8 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ad │ > │ 2ee90a0886647a7d9c334e1811a0c3ae5599125952e30eba9d5e3b57a56e0/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:09 debug #9 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ad │ > │ 2ee90a0886647a7d9c334e1811a0c3ae5599125952e30eba9d5e3b57a56e0/main.spi / │ > │ fsxContent: let rec closure0 () () : int32 = │ > │ let v0 : string = "text" │ > │ System.Console.WriteLine v0 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ / errors: [] / typeErrorCount: 0 │ > │ 00:00:09 verbose #10 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/0ad2ee90a0886647a7d9c334e1811a0c3ae5599125952e30eba9d5e3b57a56e0"]}} / │ > │ result: │ > │ 00:00:12 verbose #31 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:12 verbose #32 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 debug #11 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some │ > │ (Some │ > │ "let rec closure0 () () : int32 = │ > │ let v0 : string = "text" │ > │ System.Console.WriteLine v0 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ ", │ > │ []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "" > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> _assertEqual None > > ╭─[ 10.12s - stdout ]──────────────────────────────────────────────────────────╮ > │ 00:00:12 verbose #33 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:11 debug #8 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:12 verbose #34 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #35 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:12 verbose #36 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:11 verbose #9 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:11 verbose #10 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:11 verbose #11 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:12 verbose #37 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #38 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #39 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #40 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #41 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #42 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #43 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #44 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #45 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:12 verbose #46 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #47 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #48 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #49 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #50 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #51 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #52 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #53 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #54 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #55 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #56 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #57 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:11 verbose #12 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:13 verbose #58 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #59 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #60 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #61 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:13 verbose #62 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:09 verbose #12 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:09 verbose #13 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:11 verbose #13 > Server bound to: http://localhost:13805 │ > │ 00:00:09 debug #14 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:09 debug #15 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:09 verbose #16 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"","uri":"file:///home/runner/work/polyglot/polyglot/ │ > │ target/polyglot/spiral_eval/packages/e3b0c44298fc1c149afbf4c8996fb92427ae41e │ > │ 4649b934ca495991b7852b855/main.spi"}} / result: │ > │ 00:00:09 verbose #17 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/e3b0c44298fc1c149afbf4c8996fb924 │ > │ 27ae41e4649b934ca495991b7852b855/main.spi"}} / result: │ > │ 00:00:12 verbose #14 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi │ > │ 00:00:10 debug #18 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:13 verbose #15 > Cannot find `main` in file main. │ > │ 00:00:13 verbose #16 > 00:00:02 debug #5 │ > │ Supervisor.supervisor_server.BuildFile.handle_build_result.BuildSkip / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi │ > │ 00:00:11 debug #19 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:12 debug #20 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:13 debug #21 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:14 debug #22 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:15 debug #23 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:16 debug #24 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:17 debug #25 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:18 debug #26 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3b │ > │ 0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:22 verbose #63 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:22 verbose #64 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:19 debug #27 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ 00:00:19 debug #28 runWithTimeoutAsync / timeout: 10000 │ > │ <null> │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1i32 / 0i32 > """ > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "An attempt to divide by zero has been detected at compile time." ]] > ) > ) > > ╭─[ 2.86s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:22 verbose #65 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:21 debug #17 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:23 verbose #66 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #67 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:23 verbose #68 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:21 verbose #18 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:21 verbose #19 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:21 verbose #20 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:23 verbose #69 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #70 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #71 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #72 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #73 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #74 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #75 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #76 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #77 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #78 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #79 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #80 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #81 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #82 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #83 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #84 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #85 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #86 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #87 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #88 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #89 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:21 verbose #21 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:23 verbose #90 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #91 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:23 verbose #92 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:20 verbose #29 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:20 verbose #30 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:21 verbose #22 > Server bound to: http://localhost:13805 │ > │ 00:00:20 debug #31 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/232 │ > │ df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:20 debug #32 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/232 │ > │ df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:20 verbose #33 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │ > │ 0i32\n","uri":"file:///home/runner/work/polyglot/p...ot/spiral_eval/packages │ > │ /232df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi"} │ > │ } / result: │ > │ 00:00:20 verbose #34 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/232df6d862bb0667133bf3fbc55c0b33 │ > │ 286bde4b85cdb17fe93dda9c433ec620/main.spi"}} / result: │ > │ 00:00:22 verbose #23 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/232 │ > │ df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi │ > │ 00:00:21 debug #35 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/232 │ > │ df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:22 debug #36 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/232 │ > │ df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi / │ > │ fsxContent: / errors: [ │ > │ [ │ > │ "An attempt to divide by zero has been detected at compile time.", │ > │ { │ > │ "TracedError": { │ > │ "message": "An attempt to divide by zero has been detected at │ > │ compile time.", │ > │ "trace": [ │ > │ "Error trace on line: 1, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/232 │ > │ df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi. │ > │ inl main () = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 2, column: 5 in module: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/232 │ > │ df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620/main.spi. │ > │ 1i32 / 0i32 │ > │ ^ │ > │ " │ > │ ] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 │ > │ 00:00:22 verbose #37 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/232df6d862bb0667133bf3fbc55c0b33286bde4b85cdb17fe93dda9c433ec620"]}} / │ > │ result: │ > │ 00:00:25 verbose #93 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:25 verbose #94 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:22 debug #38 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some (None, ["An attempt to divide by zero has been detected at compile │ > │ time."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1 + "" > """ > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Constraint satisfaction error. > Got: string > Fails to satisfy: number" > ]] > ) > ) > > ╭─[ 2.52s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:25 verbose #95 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:24 debug #24 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:25 verbose #96 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:25 verbose #97 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:25 verbose #98 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:24 verbose #25 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:24 verbose #26 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:24 verbose #27 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:25 verbose #99 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:25 verbose #100 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:25 verbose #101 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:25 verbose #102 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:25 verbose #103 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #104 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #105 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #106 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #107 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #108 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #109 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #110 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #111 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #112 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #113 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #114 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #115 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #116 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #117 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #118 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #119 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:24 verbose #28 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:26 verbose #120 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #121 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #122 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:22 verbose #39 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:22 verbose #40 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:24 verbose #29 > Server bound to: http://localhost:13805 │ > │ 00:00:22 debug #41 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/227 │ > │ 8923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:22 debug #42 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/227 │ > │ 8923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:22 verbose #43 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ > │ \u0022\u0022\n","uri":"file:///home/runner/work/...ot/spiral_eval/packages/2 │ > │ 278923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.spi"}} │ > │ / result: │ > │ 00:00:22 verbose #44 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/2278923ce88b0e473e77d4d93e25afa6 │ > │ e5e4f5efe803982e504cc198d4c4d82d/main.spi"}} / result: │ > │ 00:00:25 verbose #30 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/227 │ > │ 8923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.spi │ > │ 00:00:23 debug #45 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/227 │ > │ 8923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:24 debug #46 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/227 │ > │ 8923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 1 │ > │ 00:00:24 debug #47 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/227 │ > │ 8923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.spi / │ > │ fsxContent: / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 10, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number" │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/2278923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d/main.s │ > │ pi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 │ > │ 00:00:24 verbose #48 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/2278923ce88b0e473e77d4d93e25afa6e5e4f5efe803982e504cc198d4c4d82d"]}} / │ > │ result: │ > │ 00:00:28 verbose #123 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:28 verbose #124 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:24 debug #49 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some (None, ["main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number"]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > x + y > """ > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Unbound variable: x. > Unbound variable: y." > ]] > ) > ) > > ╭─[ 2.34s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:28 verbose #125 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 debug #31 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:28 verbose #126 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #127 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:28 verbose #128 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 verbose #32 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:26 verbose #33 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:26 verbose #34 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:28 verbose #129 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #130 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #131 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #132 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #133 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #134 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #135 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #136 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #137 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #138 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #139 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #140 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #141 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #142 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #143 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #144 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #145 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #146 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #147 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #148 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #149 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:27 verbose #35 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:28 verbose #150 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #151 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 verbose #152 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:25 verbose #50 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:25 verbose #51 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:27 verbose #36 > Server bound to: http://localhost:13805 │ > │ 00:00:25 debug #52 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d8 │ > │ d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:25 debug #53 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d8 │ > │ d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:25 verbose #54 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ > │ y\n","uri":"file:///home/runner/work/polyglot/po...ot/spiral_eval/packages/5 │ > │ d8d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.spi"}} │ > │ / result: │ > │ 00:00:25 verbose #55 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/5d8d0e66f59ab13f3bfd8d88f05ce137 │ > │ 71ab005b08581d99225216170ba6489b/main.spi"}} / result: │ > │ 00:00:27 verbose #37 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d8 │ > │ d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.spi │ > │ 00:00:26 debug #56 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d8 │ > │ d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:26 debug #57 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d8 │ > │ d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 1 │ > │ 00:00:26 debug #58 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d8 │ > │ d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.spi / │ > │ fsxContent: / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y.", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 4, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 5, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: x." │ > │ ], │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 9, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: y." │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/5d8d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b/main.s │ > │ pi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 │ > │ 00:00:26 verbose #59 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/5d8d0e66f59ab13f3bfd8d88f05ce13771ab005b08581d99225216170ba6489b"]}} / │ > │ result: │ > │ 00:00:30 verbose #153 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:30 verbose #154 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:26 debug #60 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some (None, ["main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl main () = > real > inl real_unbox forall a. (obj : a) : a = > typecase obj with > | _ => obj > real_unbox () > () > """ > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "Cannot apply a forall with a term." ]] > ) > ) > > ╭─[ 2.67s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:30 verbose #155 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:28 debug #38 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:30 verbose #156 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #157 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:30 verbose #158 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:29 verbose #39 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:29 verbose #40 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:29 verbose #41 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:30 verbose #159 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #160 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #161 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #162 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #163 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #164 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #165 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #166 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #167 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #168 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #169 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #170 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #171 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #172 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #173 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #174 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #175 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #176 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #177 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #178 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #179 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:29 verbose #42 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:30 verbose #180 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:31 verbose #181 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:31 verbose #182 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:27 verbose #61 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:27 verbose #62 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:29 verbose #43 > Server bound to: http://localhost:13805 │ > │ 00:00:27 debug #63 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:27 debug #64 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:27 verbose #65 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │ > │ forall a. (obj : a) : a │ > │ =\...ot/spiral_eval/packages/a2aa158e3d25dde470018a814a2045bf437bae1760d98ab │ > │ 33335c72b076d4d50/main.spi"}} / result: │ > │ 00:00:27 verbose #66 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/a2aa158e3d25dde470018a814a2045bf │ > │ 437bae1760d98ab33335c72b076d4d50/main.spi"}} / result: │ > │ 00:00:29 verbose #44 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi │ > │ 00:00:28 debug #67 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:29 debug #68 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi / │ > │ fsxContent: / errors: [ │ > │ [ │ > │ "Cannot apply a forall with a term.", │ > │ { │ > │ "TracedError": { │ > │ "message": "Cannot apply a forall with a term.", │ > │ "trace": [ │ > │ "Error trace on line: 2, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi. │ > │ inl main () = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 4, column: 9 in module: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi. │ > │ inl real_unbox forall a. (obj : a) : a = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 7, column: 9 in module: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a │ > │ a158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50/main.spi. │ > │ real_unbox () │ > │ ^ │ > │ " │ > │ ] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 │ > │ 00:00:29 verbose #69 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/a2aa158e3d25dde470018a814a2045bf437bae1760d98ab33335c72b076d4d50"]}} / │ > │ result: │ > │ 00:00:33 verbose #183 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:33 verbose #184 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:29 debug #70 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some (None, ["Cannot apply a forall with a term."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl main () = > real > inl real_unbox forall a. (obj : a) : a = > typecase obj with > | _ => obj > real_unbox `i32 1 > """ > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "The main function should not have a forall." ]] > ) > ) > > ╭─[ 2.62s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:33 verbose #185 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:31 debug #45 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:33 verbose #186 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #187 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:33 verbose #188 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:31 verbose #46 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:31 verbose #47 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:31 verbose #48 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:33 verbose #189 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #190 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #191 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #192 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #193 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #194 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #195 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #196 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #197 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #198 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #199 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #200 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #201 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #202 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #203 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #204 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #205 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #206 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #207 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #208 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:32 verbose #49 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:33 verbose #209 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #210 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #211 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:30 verbose #71 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:30 verbose #72 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:32 verbose #50 > Server bound to: http://localhost:13805 │ > │ 00:00:30 debug #73 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/84e │ > │ ca3865a0cfc1afd28f49a38d395e9b89071527b4bda759de7cfb116593b3e/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:30 debug #74 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/84e │ > │ ca3865a0cfc1afd28f49a38d395e9b89071527b4bda759de7cfb116593b3e/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:30 verbose #75 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │ > │ forall a. (obj : a) : a │ > │ =\...ot/spiral_eval/packages/84eca3865a0cfc1afd28f49a38d395e9b89071527b4bda7 │ > │ 59de7cfb116593b3e/main.spi"}} / result: │ > │ 00:00:30 verbose #76 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/84eca3865a0cfc1afd28f49a38d395e9 │ > │ b89071527b4bda759de7cfb116593b3e/main.spi"}} / result: │ > │ 00:00:32 verbose #51 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/84e │ > │ ca3865a0cfc1afd28f49a38d395e9b89071527b4bda759de7cfb116593b3e/main.spi │ > │ 00:00:31 debug #77 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/84e │ > │ ca3865a0cfc1afd28f49a38d395e9b89071527b4bda759de7cfb116593b3e/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:32 debug #78 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/84e │ > │ ca3865a0cfc1afd28f49a38d395e9b89071527b4bda759de7cfb116593b3e/main.spi / │ > │ fsxContent: / errors: [ │ > │ [ │ > │ "The main function should not have a forall.", │ > │ { │ > │ "TracedError": { │ > │ "message": "The main function should not have a forall.", │ > │ "trace": [] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 │ > │ 00:00:32 verbose #79 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/84eca3865a0cfc1afd28f49a38d395e9b89071527b4bda759de7cfb116593b3e"]}} / │ > │ result: │ > │ 00:00:35 verbose #212 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:35 verbose #213 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:32 debug #80 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some (None, ["The main function should not have a forall."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl init_series start end inc = > inl total : f64 = conv ((end - start) / inc) + 1 > listm.init total (conv >> (*) inc >> (+) start) : list f64 > > type integration = (f64 -> f64) -> f64 -> f64 -> f64 > > inl integral dt : integration = > fun f a b => > init_series (a + dt / 2) (b - dt / 2) dt > |> listm.map (f >> (*) dt) > |> listm.fold (+) 0 > > inl main () = > integral 0.1 (fun x => x ** 2) 0 1 > """ > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some "0.3325000000000001\n", > [[]] > ) > ) > > ╭─[ 2.74s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:35 verbose #214 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:34 debug #52 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:36 verbose #215 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #216 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:36 verbose #217 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:34 verbose #53 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:34 verbose #54 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:34 verbose #55 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:36 verbose #218 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #219 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #220 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #221 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #222 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #223 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #224 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #225 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #226 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #227 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #228 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #229 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #230 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #231 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #232 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #233 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #234 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #235 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #236 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #237 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #238 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:34 verbose #56 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:36 verbose #239 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #240 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #241 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:36 verbose #242 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:33 verbose #81 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:33 verbose #82 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:34 verbose #57 > Server bound to: http://localhost:13805 │ > │ 00:00:33 debug #83 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c09 │ > │ 32fdbf60389c2ae8b78bb5443994f2d0ecdc6c6e7dfddf408cecaa050d294/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:33 debug #84 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c09 │ > │ 32fdbf60389c2ae8b78bb5443994f2d0ecdc6c6e7dfddf408cecaa050d294/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:33 verbose #85 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │ > │ f64 = conv ((end - │ > │ start)...ot/spiral_eval/packages/c0932fdbf60389c2ae8b78bb5443994f2d0ecdc6c6e │ > │ 7dfddf408cecaa050d294/main.spi"}} / result: │ > │ 00:00:33 verbose #86 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/c0932fdbf60389c2ae8b78bb5443994f │ > │ 2d0ecdc6c6e7dfddf408cecaa050d294/main.spi"}} / result: │ > │ 00:00:35 verbose #58 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c09 │ > │ 32fdbf60389c2ae8b78bb5443994f2d0ecdc6c6e7dfddf408cecaa050d294/main.spi │ > │ 00:00:34 debug #87 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c09 │ > │ 32fdbf60389c2ae8b78bb5443994f2d0ecdc6c6e7dfddf408cecaa050d294/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:34 debug #88 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c09 │ > │ 32fdbf60389c2ae8b78bb5443994f2d0ecdc6c6e7dfddf408cecaa050d294/main.spi / │ > │ fsxContent: 0.3325000000000001 │ > │ / errors: [] / typeErrorCount: 0 │ > │ 00:00:34 verbose #89 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/c0932fdbf60389c2ae8b78bb5443994f2d0ecdc6c6e7dfddf408cecaa050d294"]}} / │ > │ result: │ > │ 00:00:38 verbose #243 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:38 verbose #244 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:35 debug #90 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some (Some "0.3325000000000001 │ > │ ", []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl init_series start end inc = > inl total : f64 = conv ((end - start) / inc) + 1 > listm.init total (conv >> (*) inc >> (+) start) : list f64 > > type integration = (f64 -> f64) -> f64 -> f64 -> f64 > > inl integral dt : integration = > fun f a b => > init_series (a + dt / 2) (b - dt / 2) dt > |> listm.map (f >> (*) dt) > |> listm.fold (+) 0 > > inl main () = > integral 0.01 (fun x => x ** 2) 0 1 > """ > |> buildCode 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, fsxContent), errors) -> fsxContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some "0.33332500000000004\n", > [[]] > ) > ) > // |> _assertEqual None > // |> fun x -> printfn $"{x.ToDisplayString ()}" > > ╭─[ 2.78s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:38 verbose #245 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:37 debug #59 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:buildCode@3-398>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:38 verbose #246 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #247 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:38 verbose #248 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:37 verbose #60 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:37 verbose #61 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:37 verbose #62 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:38 verbose #249 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #250 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #251 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #252 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #253 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #254 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #255 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #256 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #257 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #258 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #259 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #260 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #261 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #262 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #263 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #264 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:38 verbose #265 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:39 verbose #266 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:39 verbose #267 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:39 verbose #268 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:37 verbose #63 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:39 verbose #269 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:39 verbose #270 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:39 verbose #271 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:35 verbose #91 Supervisor.sendJson / port: 13805 / json: {"Ping":true} │ > │ / result: │ > │ 00:00:35 verbose #92 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:37 verbose #64 > Server bound to: http://localhost:13805 │ > │ 00:00:35 debug #93 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/355 │ > │ c36b6d259fe6b1c7527aa9b475ca37914ad348c4a239687383dcd0daeed2c/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:35 debug #94 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/355 │ > │ c36b6d259fe6b1c7527aa9b475ca37914ad348c4a239687383dcd0daeed2c/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:35 verbose #95 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │ > │ f64 = conv ((end - │ > │ start)...ot/spiral_eval/packages/355c36b6d259fe6b1c7527aa9b475ca37914ad348c4 │ > │ a239687383dcd0daeed2c/main.spi"}} / result: │ > │ 00:00:35 verbose #96 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/polyglot/spiral_eval/packages/355c36b6d259fe6b1c7527aa9b475ca3 │ > │ 7914ad348c4a239687383dcd0daeed2c/main.spi"}} / result: │ > │ 00:00:37 verbose #65 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/355 │ > │ c36b6d259fe6b1c7527aa9b475ca37914ad348c4a239687383dcd0daeed2c/main.spi │ > │ 00:00:36 debug #97 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/355 │ > │ c36b6d259fe6b1c7527aa9b475ca37914ad348c4a239687383dcd0daeed2c/main.spi / │ > │ fsxContent: / errors: [] / typeErrorCount: 0 │ > │ 00:00:37 debug #98 buildFile / takeWhileInclusive / path: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/355 │ > │ c36b6d259fe6b1c7527aa9b475ca37914ad348c4a239687383dcd0daeed2c/main.spi / │ > │ fsxContent: 0.33332500000000004 │ > │ / errors: [] / typeErrorCount: 0 │ > │ 00:00:37 verbose #99 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/355c36b6d259fe6b1c7527aa9b475ca37914ad348c4a239687383dcd0daeed2c"]}} / │ > │ result: │ > │ 00:00:41 verbose #272 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:41 verbose #273 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:37 debug #100 watchWithFilter / Disposing watch stream / filter: │ > │ FileName, LastWrite │ > │ Some (Some "0.33332500000000004 │ > │ ", []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getFileTokenRange │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getFileTokenRange port cancellationToken path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let! code = fullPath |> SpiralFileSystem.read_all_text_async > let lines = code |> SpiralSm.split "\n" > > let struct (token, disposable) = SpiralThreading.new_disposable_token > cancellationToken > use _ = disposable > > let! serverPort, _errors, ct, disposable = > match port with > | Some port -> awaitCompiler port (Some token) > | None -> (getCompilerPort (), FSharp.Control.AsyncSeq.empty, token, > new_disposable id) |> Async.init > use _ = disposable > > let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > > let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} |} > let! _fileOpenResult = fileOpenObj |> sendObj serverPort > > // do! Async.Sleep 60 > > let fileTokenRangeObj = > {| > FileTokenRange = > {| > uri = fullPathUri > range = > [[| > {| line = 0; character = 0 |} > {| line = lines.Length - 1; character = > lines.[[lines.Length - 1]].Length |} > |]] > |} > |} > let! fileTokenRangeResult = > fileTokenRangeObj > |> sendObj serverPort > |> Async.withCancellationToken ct > > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then > let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] |} |} > let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort > () > > return fileTokenRangeResult |> Option.map FSharp.Json.Json.deserialize<int > array> > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getCodeTokenRange │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getCodeTokenRange cancellationToken code = async { > let! mainPath, _ = persistCode code > > let codeDir = mainPath |> System.IO.Path.GetDirectoryName > let tokensPath = codeDir </> "tokens.json" > let! tokens = async { > if tokensPath |> System.IO.File.Exists |> not > then return None > else > let! text = tokensPath |> SpiralFileSystem.read_all_text_async > > return > if text.Length > 2 > then text |> FSharp.Json.Json.deserialize<int array> |> Some > else None > } > match tokens with > | Some tokens -> return tokens |> Some > | None -> > let port = getCompilerPort () > return! mainPath |> getFileTokenRange (Some port) cancellationToken > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = ()""" > |> getCodeTokenRange None > |> Async.runWithTimeout 10000 > |> Option.flatten > |> _assertEqual (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; > 8; 0; 0; 2; 1; 4; 0; 0; > 2; 1; 8; 0; 0; 1; 1; 8; 0 |]]) > > ╭─[ 1.95s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:43 verbose #274 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:41 debug #66 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:it@4-167>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:43 verbose #275 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #276 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:43 verbose #277 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:42 verbose #67 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:42 verbose #68 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:42 verbose #69 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:43 verbose #278 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #279 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #280 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #281 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #282 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #283 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #284 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #285 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #286 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #287 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #288 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #289 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #290 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #291 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #292 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #293 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #294 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #295 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #296 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #297 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #298 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:42 verbose #70 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:43 verbose #299 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #300 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 verbose #301 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:40 verbose #101 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:40 verbose #102 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:42 verbose #71 > Server bound to: http://localhost:13805 │ > │ 00:00:40 verbose #103 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () = │ > │ ()","uri":"file:///home/runner/work/polyglot/polyglot/target/p...ot/spiral_e │ > │ val/packages/fb6c8d45c45c5bed6706c564f1573e80b77a3923967ce83cb69737ce2ce5040 │ > │ c/main.spi"}} / result: │ > │ 00:00:40 verbose #104 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileTokenRange":{"range":[ │ > │ {"character":0,"line":0},{"character":16,"line":0}],"uri":"file:///home/...o │ > │ t/spiral_eval/packages/fb6c8d45c45c5bed6706c564f1573e80b77a3923967ce83cb6973 │ > │ 7ce2ce5040c/main.spi"}} / result: Some([ │ > │ 0, │ > │ 0, │ > │ 3, │ > │ 7, │ > │ 0, │ > │ 0, │ > │ 4, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 0, │ > │ 5, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 1, │ > │ 8, │ > │ 0 │ > │ ]) │ > │ 00:00:40 verbose #105 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/fb6c8d45c45c5bed6706c564f1573e80b77a3923967ce83cb69737ce2ce5040c"]}} / │ > │ result: │ > │ 00:00:44 verbose #302 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:44 verbose #303 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ Some [|0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0; 0; 2; 1; │ > │ 4; 0; 0; 2; 1; 8; 0; 0; 1; 1; 8; 0|] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = 1i32""" > |> getCodeTokenRange None > |> Async.runWithTimeout 10000 > |> Option.flatten > |> _assertEqual (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; > 8; 0; 0; 2; 1; 4; 0; 0; > 2; 1; 3; 0; 0; 1; 3; 12; 0 |]]) > > ╭─[ 1.97s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:45 verbose #304 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:43 debug #72 execute_with_options_async / options: struct (Some │ > │ System.Threading.CancellationToken, │ > │ "dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64", │ > │ [||], Some <fun:it@4-387>, None, true, │ > │ Some "/home/runner/work/polyglot/polyglot") │ > │ 00:00:45 verbose #305 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #306 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: True │ > │ 00:00:45 verbose #307 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:44 verbose #73 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:44 verbose #74 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:44 verbose #75 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval │ > │ 00:00:45 verbose #308 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #309 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #310 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #311 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #312 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #313 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #314 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #315 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #316 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #317 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #318 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #319 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #320 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #321 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #322 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #323 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #324 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #325 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #326 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #327 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #328 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:44 verbose #76 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:45 verbose #329 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:45 verbose #330 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ 00:00:42 verbose #106 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:42 verbose #107 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:44 verbose #77 > Server bound to: http://localhost:13805 │ > │ 00:00:42 verbose #108 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () = │ > │ 1i32","uri":"file:///home/runner/work/polyglot/polyglot/target...ot/spiral_e │ > │ val/packages/9df95a2f18642bd8d2f682f6edb6cef45c30ca9c616b33ebb0e5577eed14871 │ > │ c/main.spi"}} / result: │ > │ 00:00:42 verbose #109 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileTokenRange":{"range":[ │ > │ {"character":0,"line":0},{"character":18,"line":0}],"uri":"file:///home/...o │ > │ t/spiral_eval/packages/9df95a2f18642bd8d2f682f6edb6cef45c30ca9c616b33ebb0e55 │ > │ 77eed14871c/main.spi"}} / result: Some([ │ > │ 0, │ > │ 0, │ > │ 3, │ > │ 7, │ > │ 0, │ > │ 0, │ > │ 4, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 0, │ > │ 5, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 3, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 3, │ > │ 12, │ > │ 0 │ > │ ]) │ > │ 00:00:42 verbose #110 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/pack │ > │ ages/9df95a2f18642bd8d2f682f6edb6cef45c30ca9c616b33ebb0e5577eed14871c"]}} / │ > │ result: │ > │ 00:00:46 verbose #331 networking.wait_for_port_access / port: 13805 / retry: │ > │ 0 / timeout: Some 100 / status: False │ > │ 00:00:46 verbose #332 networking.test_port_open / port: 13805 / ex: │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ Some [|0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0; 0; 2; 1; │ > │ 4; 0; 0; 2; 1; 3; 0; 0; 1; 3; 12; 0|] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Arguments │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > [[<RequireQualifiedAccess>]] > type Arguments = > | Build_File of string * string > | File_Token_Range of string * string > | Execute_Command of string > | [[<Argu.ArguAttributes.Unique>]] Timeout of int > | [[<Argu.ArguAttributes.Unique>]] Port of int > | [[<Argu.ArguAttributes.Unique>]] Parallel > | [[<Argu.ArguAttributes.Unique>]] Exit_On_Error > > interface Argu.IArgParserTemplate with > member s.Usage = > match s with > | Build_File _ -> nameof Build_File > | File_Token_Range _ -> nameof File_Token_Range > | Execute_Command _ -> nameof Execute_Command > | Timeout _ -> nameof Timeout > | Port _ -> nameof Port > | Parallel -> nameof Parallel > | Exit_On_Error-> nameof Exit_On_Error > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () > > ╭─[ 89.72ms - return value ]───────────────────────────────────────────────────╮ > │ "USAGE: dotnet-repl [--help] [--build-file <string> <string>] │ > │ [--file-token-range <string> <string>] │ > │ [--execute-command <string>] [--timeout <int>] [--port │ > │ <int>] │ > │ [--parallel] [--exit-on-error] │ > │ │ > │ OPTIONS: │ > │ │ > │ --build-file <string> <string> │ > │ Build_File │ > │ --file-token-range <string> <string> │ > │ File_Token_Range │ > │ --execute-command <string> │ > │ Execute_Command │ > │ --timeout <int> Timeout │ > │ --port <int> Port │ > │ --parallel Parallel │ > │ --exit-on-error Exit_On_Error │ > │ --help display this list of options. │ > │ " │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## main │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let main args = > let argsMap = args |> Runtime.parseArgsMap<Arguments> > > let buildFileActions = > argsMap > |> Map.tryFind (nameof Arguments.Build_File) > |> Option.defaultValue [[]] > |> List.choose (function > | Arguments.Build_File (inputPath, outputPath) -> Some (inputPath, > outputPath) > | _ -> None > ) > > let fileTokenRangeActions = > argsMap > |> Map.tryFind (nameof Arguments.File_Token_Range) > |> Option.defaultValue [[]] > |> List.choose (function > | Arguments.File_Token_Range (inputPath, outputPath) -> Some > (inputPath, outputPath) > | _ -> None > ) > > let executeCommandActions = > argsMap > |> Map.tryFind (nameof Arguments.Execute_Command) > |> Option.defaultValue [[]] > |> List.choose (function > | Arguments.Execute_Command command -> Some command > | _ -> None > ) > > let timeout = > match argsMap |> Map.tryFind (nameof Arguments.Timeout) with > | Some [[ Arguments.Timeout timeout ]] -> timeout > | _ -> 60000 * 60 > > let port = > match argsMap |> Map.tryFind (nameof Arguments.Port) with > | Some [[ Arguments.Port port ]] -> Some port > | _ -> None > > let isParallel = argsMap |> Map.containsKey (nameof Arguments.Parallel) > > let isExitOnError = argsMap |> Map.containsKey (nameof > Arguments.Exit_On_Error) > > async { > let port = port |> Option.defaultWith getCompilerPort > let struct (localToken, disposable) = > SpiralThreading.new_disposable_token None > let! serverPort, _errors, compilerToken, disposable = awaitCompiler port > (Some localToken) > use _ = disposable > > let buildFileAsync = > buildFileActions > |> List.map (fun (inputPath, outputPath) -> async { > let! _fsxPath, (outputCode, errors) = inputPath |> buildFile > timeout serverPort None > > errors > |> List.map snd > |> List.iter (fun error -> > trace Critical (fun () -> $"main / error: {error |> > serializeObj}") _locals > ) > > match outputCode with > | Some outputCode -> > do! outputCode |> SpiralFileSystem.write_all_text_async > outputPath > return 0 > | None -> > if isExitOnError > then System.Environment.Exit 1 > > return 1 > }) > > let fileTokenRangeAsync = > fileTokenRangeActions > |> List.map (fun (inputPath, outputPath) -> async { > let! tokenRange = inputPath |> getFileTokenRange (Some > serverPort) None > match tokenRange with > | Some tokenRange -> > do! tokenRange |> FSharp.Json.Json.serialize |> > SpiralFileSystem.write_all_text_async outputPath > return 0 > | None -> > if isExitOnError > then System.Environment.Exit 1 > > return 1 > }) > > let executeCommandAsync = > executeCommandActions > |> List.map (fun command -> async { > let! exitCode, result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = Some compilerToken > l1 = command > } > ) > |> SpiralRuntime.execute_with_options_async > > trace Debug (fun () -> $"main / executeCommand / exitCode: > {exitCode} / command: {command}") _locals > > if isExitOnError && exitCode > 0 > then System.Environment.Exit exitCode > > return exitCode > }) > > return! > [[| buildFileAsync; fileTokenRangeAsync; executeCommandAsync |]] > |> Seq.collect id > |> fun x -> > if isParallel > then Async.Parallel (x, float System.Environment.ProcessorCount > * 0.51 |> ceil |> int) > else Async.Sequential x > |> Async.map Array.sum > } > |> Async.runWithTimeout timeout > |> Option.defaultValue 1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let args = > System.Environment.GetEnvironmentVariable "ARGS" > |> SpiralRuntime.split_args > |> Seq.toArray > > match args with > | [[||]] -> 0 > | args -> if main args = 0 then 0 else failwith "main failed" > > ╭─[ 58.51ms - return value ]───────────────────────────────────────────────────╮ > │ <div class="dni-plaintext"><pre>0 │ > │ </pre></div><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:57 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 236642 00:00:57 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None) 00:00:57 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb to html 00:00:57 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:57 verbose #7 ! validate(nb) 00:00:58 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:58 verbose #9 ! return _pygments_highlight( 00:00:58 verbose #10 ! [NbConvertApp] Writing 508113 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.html 00:00:58 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 906 00:00:58 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 906 00:00:58 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None) 00:00:59 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0 00:00:59 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0 00:00:59 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 237607 00:00:00 debug #1 writeDibCode / output: Fs / path: Supervisor.dib 00:00:00 debug #2 parseDibCode / output: Fs / file: Supervisor.dib 00:00:00 debug #1 persistCodeProject / packages: [Argu; FSharp.Control.AsyncSeq; FSharp.Json; ... ] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: Supervisor / hash: / code.Length: 23287 00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/polyglot/builder/Supervisor/Supervisor.fsproj 00:00:00 debug #1 execute_with_options_async / options: struct (None, "dotnet publish "/home/runner/work/polyglot/polyglot/target/polyglot/builder/Supervisor/Supervisor.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/apps/spiral/dist" --runtime linux-x64", [||], None, None, true, Some "/home/runner/work/polyglot/polyglot/target/polyglot/builder/Supervisor") 00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET 00:00:00 verbose #3 > Determining projects to restore... 00:00:01 verbose #4 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do. 00:00:01 verbose #6 > Total time taken: 0 milliseconds 00:00:01 verbose #7 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/Supervisor/Supervisor.fsproj 00:00:01 verbose #9 > Starting restore process. 00:00:02 verbose #10 > Total time taken: 0 milliseconds 00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/Supervisor/Supervisor.fsproj (in 339 ms). 00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/polyglot/builder/Supervisor/Supervisor.fsproj] 00:00:12 verbose #13 > Supervisor -> /home/runner/work/polyglot/polyglot/target/polyglot/builder/Supervisor/bin/Release/net9.0/linux-x64/Supervisor.dll 00:00:13 verbose #14 > Supervisor -> /home/runner/work/polyglot/polyglot/apps/spiral/dist 00:00:13 debug #15 execute_with_options_async / exit_code: 0 / output.Length: 1148 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Eval.dib", "--retries", "3"]) 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Eval (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com > mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli > ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ > 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" > #r > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha > rp.Json.dll" > #r > @"../../../../../../../.nuget/packages/system.management/7.0.0/lib/netstandard2. > 0/System.Management.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp > NetCore.Html.Abstractions.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.Formatting.dll" > open System > open System.IO > open System.Text > open Microsoft.DotNet.Interactive.Formatting > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.FSharp.dll" > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers > #r > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot > Net.Interactive.dll" > open type Microsoft.DotNet.Interactive.Kernel > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x) > > ── fsharp - import ───────────────────────────────────────────────────────────── > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer: > TextWriter)->fprintfn writer "%120A" x) > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Notebooks.dib > #!import ../../lib/fsharp/Testing.dib > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > Formatter.ListExpansionLimit <- 100 > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #endif > type FnOnce<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]] > #endif > type ActionFn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]] > #endif > type ActionFn2<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]] > #endif > type Impl<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]] > #endif > type Mut<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Co... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]] > #endif > type async_std_task_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]] > #endif > type std_future_Future<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]] > #endif > type rayon_vec_IntoIter<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]] > #endif > type rayon_iter_Map<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]] > #endif > type futures_lite_stream_StreamExt = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]] > #endif > type futures_future_TryJoinAll<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]] > #endif > type futures_future_Fuse<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]] > #endif > type futures_future_JoinAll<'T> = class end > let rec closure0 () (v0 : System.Threading.CancellationToken) : > Async<System.Threading.CancellationToken> = > let v1 : bool = true > let mutable _v1 : Async<System.Threading.CancellationToken> option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT > let v2 : Async<System.Threading.CancellationToken> = null |> > unbox<Async<System... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]] > #endif > type std_thread_JoinHandle<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]] > #endif > type std_sync_Arc<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]] > #endif > type std_sync_Mutex<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]] > #endif > type std_sync_MutexGuard<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]] > #endif > type std_sync_PoisonError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]] > #endif > type std_sync_mpsc_Receiver<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]] > #endif > type std_sync_mpsc_SendError<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]] > #endif > type std_sync_mpsc_Sender<'T> = class end > type Disposable (f : unit -> unit) = interface System.IDisposable with member > _.Dispose () = f () > type [[<Struct>]] US0 = > | US0_0 of f0_0 : System.Threading.CancellationToken > | US0_1 > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit = > let v1 : bool = true > let mutable _v1 : unit option = None > > #if FABLE_COMPILER || WASM || CONTRACT > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]] > #endif > type reqwest_Error = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]] > #endif > type reqwest_RequestBuilder = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]] > #endif > type reqwest_Response = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]] > #endif > type std_env_VarError = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]] > #endif > type Dyn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]] > #endif > type Send<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]] > #endif > type Fn<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]] > #endif > type FnUnit = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]] > #... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]] > #endif > type clap_Arg = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]] > #endif > type clap_ArgAction = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]] > #endif > type clap_Command = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]] > #endif > type clap_ArgMatches = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]] > #endif > type clap_builder_ValueRange = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]] > #endif > type clap_builder_ValueParser = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]] > #endif > type clap_builder_PossibleValue = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]] > #endif > type std_process_Child = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]] > #endif > type std_process_ChildStderr = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]] > #endif > type std_process_ChildStdout = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]] > #endif > type std_process_ChildStdin = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]] > #endif > type std_process_Command = class ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]] > #endif > type std_fs_File = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]] > #endif > type std_fs_FileType = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]] > #endif > type std_path_Display = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]] > #endif > type std_path_Path = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]] > #endif > type std_path_PathBuf = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]] > #endif > type async_walkdir_DirEntry = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]] > #endif > type async_walkdir_Filtering = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]] > #endif > type async_walkdir_WalkDir = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]] > #endif > type core_any_Any = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]] > #endif > type core_ops_Try<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]] > #endif > type Func0<'T> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]] > #endif > type Func0<'T, 'U> = class end > #if FABLE_COMPILER > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]] > #endif > type Box<'T> = clas... > > ── fsharp - import ───────────────────────────────────────────────────────────── > module SpiralTrace = > let trace x = > #if !INTERACTIVE > Trace.trace x > #else > trace x > #endif > > type TraceLevel = > #if !INTERACTIVE > Trace.US0 > #else > US0 > #endif > > module SpiralCrypto = > let hash_text x = > #if !INTERACTIVE > Crypto.hash_text x > #else > hash_text x > #endif > > #if !FABLE_COMPILER && !WASM && !CONTRACT > > module SpiralAsync = > let merge_cancellation_token_with_default_async x = > #if !INTERACTIVE > Async_.merge_cancellation_token_with_default_async x > #else > merge_cancellation_token_with_default_async x > #endif > > module SpiralThreading = > let new_disposable_token x = > #if !INTERACTIVE > Threading.new_disposable_token x > #else > new_disposable_token x > #endif > > module SpiralNetworking = > let test_port_open x = > #if !INTERACTIVE > Networking.test_port_open x > #else > test_port_open x > #endif > > let test_port_open_timeout x = > #if !INTERACTIVE > Networking.test_port_open_timeout x > #else > test_port_open_timeout x > #endif > > let wait_for_port_access x = > #if !INTERACTIVE > Networking.wait_for_port_access x > #else > wait_for_port_access x > #endif > > let get_available_port x = > #if !INTERACTIVE > Networking.get_available_port x > #else > get_available_port x > #endif > > module SpiralRuntime = > let get_executable_suffix () = > #if !INTERACTIVE > Runtime.get_executable_suffix () > #else > get_executable_suffix () > #endif > > let is_windows () = > #if !INTERACTIVE > ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll" > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > type AssertExceptionFormatter (ex) = > member _.Text = > ex.ToString() > .Replace("32m", "<span style=\"color: green;\">") > .Replace("36m", "</span>") > .Replace("31m", "<span style=\"color: red;\">") > .Replace("\n", "<br/>\n") > > > Formatter.Register<AssertExceptionFormatter> ((fun (x : > AssertExceptionFormatter) -> x.Text), "text/html") > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __expect fn log expected actual = > if log then printfn $"{actual.ToDisplayString ()}" > try > "Testing.__expect" |> fn actual expected > with :? Expecto.AssertException as ex -> > AssertExceptionFormatter(ex).Display () |> ignore > failwith (ex.GetType().FullName) > > let inline __contains log expected actual = __expect Expecto.Expect.contains log > expected actual > let inline _contains expected actual = __contains true expected actual > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log > expected actual > let inline _assertEqual expected actual = __assertEqual true expected actual > > let inline __isGreaterThan log expected actual = __expect > Expecto.Expect.isGreaterThan log expected actual > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual > > let inline __isGreaterThanOrEqual log expected actual = __expect > Expecto.Expect.isGreaterThanOrEqual log expected actual > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true > expected actual > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan > log expected actual > let inline _isLessThan expected actual = __isLessThan true expected actual > > let inline __isLessThanOrEqual log expected actual = __expect > Expecto.Expect.isLessThanOrEqual log expected actual > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true > expected actual > > let inline __sequenceEqual log expected actual = __expe... > > ── fsharp - import ───────────────────────────────────────────────────────────── > //// test > > let inline __isBetween log a b actual = > let inline isBetween actual (a, b) _ = > __isGreaterThanOrEqual log a actual > __isLessThanOrEqual log b actual > __expect isBetween log (a, b) actual > let inline _isBetween a b actual = __isBetween true a b actual > > ── fsharp ────────────────────────────────────────────────────────────────────── > #!import ../../lib/fsharp/Common.fs > #!import ../../lib/fsharp/CommonFSharp.fs > #!import ../../lib/fsharp/Async.fs > #!import ../../lib/fsharp/AsyncSeq.fs > #!import ../../lib/fsharp/Runtime.fs > #!import ../../lib/fsharp/FileSystem.fs > > #!import ../../apps/builder/Builder.fs > #!import ../../apps/spiral/Supervisor.fs > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Common = > > #if !INTERACTIVE > open Lib > #endif > > let nl = System.Environment.NewLine > let q = @"""" > > let inline cons head tail = head :: tail > > /// ## memoize > let inline memoize fn = > let result = lazy fn () > fun () -> result.Value > > /// ## TraceLevel > type TraceLevel = > | Verbose > | Debug > | Info > | Warning > | Critical > > let inline _locals () = "" > > /// ## trace > let to_trace_level = function > | Verbose -> SpiralTrace.TraceLevel.US0_0 > | Debug -> SpiralTrace.TraceLevel.US0_1 > | Info -> SpiralTrace.TraceLevel.US0_2 > | Warning -> SpiralTrace.TraceLevel.US0_3 > | Critical -> SpiralTrace.TraceLevel.US0_4 > > let trace level fn locals = > let level = level |> to_trace_level > SpiralTrace.trace level fn locals > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module CommonFSharp = > > open Common > > /// ## getUnionCaseName > let inline getUnionCaseName<'T> (x: 'T) = > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with > | case, _ -> case.Name > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Async = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## choice > let inline choice asyncs = async { > let e = Event<_> () > use cts = new System.Threading.CancellationTokenSource () > let fn = > asyncs > |> Seq.map (fun a -> async { > let! x = a > e.Trigger x > }) > |> Async.Parallel > |> Async.Ignore > Async.Start (fn, cts.Token) > let! result = Async.AwaitEvent e.Publish > cts.Cancel () > return result > } > > /// ## map > let inline map fn a = async { > let! x = a > return fn x > } > > /// ## catch > let inline catch a = > a > |> Async.Catch > |> map (function > | Choice1Of2 result -> Ok result > | Choice2Of2 ex -> Error ex > ) > > /// ## runWithTimeoutChoiceAsync > let inline runWithTimeoutChoiceAsync (timeout : int) fn = > let _locals () = $"timeout: {timeout} / {_locals ()}" > > let timeoutTask = async { > do! Async.Sleep timeout > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals > return None > } > > let task = async { > try > let! result = fn > return Some result > with > | :? System.AggregateException as ex when > ex.InnerExceptions > |> Seq.exists (function :? Sys... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module AsyncSeq = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## subscribeEvent > let inline subscribeEvent (event: IEvent<'H, 'A>) map = > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, > 'A>(event.AddHandler, event.RemoveHandler) > System.Reactive.Linq.Observable.Select (observable, fun event -> map > event.EventArgs) > |> FSharp.Control.AsyncSeq.ofObservableBuffered > > /// ## subscribeToken > let subscribeToken (token : System.Threading.CancellationToken) = > let tcs = new System.Threading.Tasks.TaskCompletionSource () > System.Action tcs.SetResult |> token.Register |> ignore > let start = System.DateTime.Now.Ticks > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > do! tcs.Task |> Async.AwaitTask > return Some (System.DateTime.Now.Ticks - start, ()) > }) > () > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Runtime = > > #if !INTERACTIVE > open Lib > #endif > > open Common > > /// ## parseArgs > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args = > let assemblyName = > System.Reflection.Assembly.GetEntryAssembly().GetName().Name > let errorHandler : Argu.IExiter = > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |> > List.contains assemblyName > then Argu.ExceptionExiter () > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | > _ -> Some System.ConsoleColor.Red) > > let parser = > Argu.ArgumentParser.Create<'T> ( > programName = > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}", > errorHandler = errorHandler > ) > > parser.ParseCommandLine args > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseArgs<'T> > |> fun results -> results.GetAllResults () > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args = > args > |> parseAllArgs<'T> > |> List.groupBy CommonFSharp.getUnionCaseName<'T> > |> Map.ofList > > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module FileSystem = > > #if !INTERACTIVE > open Lib > #endif > > open Common > open SpiralFileSystem.Operators > > /// ## watchDirectory > [[<RequireQualifiedAccess>]] > type FileSystemChangeType = > | Failure > | Changed > | Created > | Deleted > | Renamed > > [[<RequireQualifiedAccess>]] > type FileSystemChange = > | Failure of exn: exn > | Changed of path: string * content: string option > | Created of path: string * content: string option > | Deleted of path: string > | Renamed of oldPath: string * (string * string option) > > > let inline watchDirectoryWithFilter filter shouldReadContent path = > let fullPath = path |> System.IO.Path.GetFullPath > let _locals () = $"filter: {filter} / {_locals ()}" > > let watcher = > new System.IO.FileSystemWatcher ( > Path = fullPath, > NotifyFilter = filter, > EnableRaisingEvents = true, > IncludeSubdirectories = true > ) > > let inline getEventPath (path : string) = > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |> > SpiralSm.trim_start [[| '/'; '\\' |]] > > let inline ticks () = > System.DateTime.UtcNow.Ticks > > let changedStream = > AsyncSeq.subscribeEvent > watcher.Changed > (fun event -> > ticks (), > [[ FileSystemChange... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Builder = > > #if !INTERACTIVE > open Lib > #endif > > open Common > open SpiralFileSystem.Operators > > /// ## buildProject > let inline buildProject runtime outputDir path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > let extension = fullPath |> System.IO.Path.GetExtension > > trace Debug > (fun () -> "buildProject") > (fun () -> $"fullPath: {fullPath} / {_locals ()}") > > match extension with > | ".fsproj" -> () > | _ -> failwith "Invalid project file" > > let runtimes = > runtime > |> Option.map List.singleton > |> Option.defaultValue [[ "linux-x64"; "win-x64" ]] > > let outputDir = outputDir |> Option.defaultValue "dist" > > return! > runtimes > |> List.map (fun runtime -> async { > let command = $@"dotnet publish ""{path}"" --configuration > Release --output ""{outputDir}"" --runtime {runtime}" > let! exitCode, _result = > SpiralRuntime.execution_options (fun x -> > { x with > l1 = command > l6 = Some fileDir > } > ) > |> SpiralRuntime.execute_with_options_async > return exitCode > }) > |> Async.Sequential > ... > > ── fsharp - import ───────────────────────────────────────────────────────────── > #if !INTERACTIVE > namespace Polyglot > #endif > > module Supervisor = > > #if !INTERACTIVE > open Lib > #endif > > open Common > open SpiralFileSystem.Operators > open Microsoft.AspNetCore.SignalR.Client > > /// ## sendJson > let inline sendJson (port : int) (json : string) = async { > let host = "127.0.0.1" > let! portOpen = SpiralNetworking.test_port_open host port > if portOpen then > try > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{port}").Build() > do! connection.StartAsync () |> Async.AwaitTask > let! result = > connection.InvokeAsync<string>("ClientToServerMsg", json) |> Async.AwaitTask > do! connection.StopAsync () |> Async.AwaitTask > trace Verbose (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / result: {result |> Option.ofObj |> > Option.map (SpiralSm.ellipsis_end 200)}") _locals > return Some result > with ex -> > trace Critical (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / ex: {ex |> > SpiralSm.format_exception}") _locals > return None > else > trace Debug (fun () -> "Supervisor.sendJson / port: {port} / error: > port not open") _locals > return None > } > > /// ## sendObj > let inline sendObj port obj = > obj > |> System.Text.Json.JsonSerializer.Serialize > |> se... > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > open Microsoft.AspNetCore.SignalR.Client > > ── fsharp ────────────────────────────────────────────────────────────────────── > open System > open System.Collections.Generic > open System.IO > open System.Text > open System.Threading > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## mapErrors │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline mapErrors (severity, errors, lastTopLevelIndex) allCode = > let allCodeLineLength = > allCode |> SpiralSm.split "\n" |> Array.length > > errors > |> List.map (fun (_, error) -> > match error with > | Supervisor.FatalError message -> > ( > severity, message, 0, ("", (0, 0), (0, 0)) > ) > |> List.singleton > | Supervisor.TracedError data -> > data.trace > |> List.truncate 5 > |> List.append [[ data.message ]] > |> List.map (fun message -> > ( > severity, message, 0, ("", (0, 0), (0, 0)) > ) > ) > | Supervisor.PackageErrors data > | Supervisor.TokenizerErrors data > | Supervisor.ParserErrors data > | Supervisor.TypeErrors data -> > data.errors > |> List.filter (fun ((rangeStart, _), _) -> > trace Debug (fun () -> $"Eval.mapErrors / rangeStart.line: > {rangeStart.line} / lastTopLevelIndex: {lastTopLevelIndex} / allCodeLineLength: > {allCodeLineLength} / filtered: {rangeStart.line > allCodeLineLength}") _locals > rangeStart.line > allCodeLineLength > ) > |> List.map (fun ((rangeStart, rangeEnd), message) -> > ( > severity, > message, > 0, > ( > (data.uri |> System.IO.Path.GetFileName), > ( > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeStart.line - allCodeLineLength - 2 > | _ -> rangeStart.line - allCodeLineLength), > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeStart.character - 4 > | _ -> rangeStart.character) > ), > ( > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeEnd.line - allCodeLineLength - 2 > | _ -> rangeEnd.line - allCodeLineLength), > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeEnd.character - 4 > | _ -> rangeEnd.character) > ) > ) > ) > ) > ) > |> List.collect id > |> List.toArray > > ── fsharp ────────────────────────────────────────────────────────────────────── > let workspaceRoot = SpiralFileSystem.get_workspace_root () > let targetDir = workspaceRoot </> "target/polyglot/spiral_eval" > [[ targetDir ]] > |> List.iter (fun dir -> if Directory.Exists dir |> not then > Directory.CreateDirectory dir |> ignore) > > let assemblyName = Reflection.Assembly.GetEntryAssembly().GetName().Name > > let mutable allCode = "" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getParentProcessId │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let getParentProcessId () = > if SpiralRuntime.is_windows () |> not > then 0u > else > let pid = System.Diagnostics.Process.GetCurrentProcess().Id > let query = $"SELECT ParentProcessId FROM Win32_Process WHERE ProcessId > = {pid}" > use searcher = new System.Management.ManagementObjectSearcher (query) > use results = searcher.Get () > let data = results |> Seq.cast<System.Management.ManagementObject> > if data |> Seq.isEmpty > then 0u > else data |> Seq.head |> (fun mo -> mo.[["ParentProcessId"]] :?> uint32) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## startTokenRangeWatcher │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline startTokenRangeWatcher () = > if [[ "dotnet-repl" ]] |> List.contains assemblyName |> not then > let tokensDir = targetDir </> "tokens" > > [[ tokensDir ]] > |> List.iter (fun dir -> if Directory.Exists dir |> not then > Directory.CreateDirectory dir |> ignore) > > let stream, disposable = FileSystem.watchDirectory (fun _ -> false) > tokensDir > > try > let existingFilesChild = > tokensDir > |> System.IO.Directory.GetDirectories > |> Array.map (fun codeDir -> async { > try > let tokensPath = codeDir </> "tokens.json" > if tokensPath |> File.Exists |> not then > let codePath = codeDir </> "main.spi" > let! tokens = codePath |> > Supervisor.getFileTokenRange None None > match tokens with > | Some tokens -> > do! > tokens > |> FSharp.Json.Json.serialize > |> SpiralFileSystem.write_all_text_async > tokensPath > | None -> > trace Verbose (fun () -> > $"Eval.startTokenRangeWatcher / GetDirectories / tokens: None") _locals > with ex -> > trace Critical (fun () -> $"Eval.startTokenRangeWatcher > / GetDirectories / ex: {ex |> SpiralSm.format_exception}") _locals > }) > |> Async.Parallel > |> Async.Ignore > > let streamAsyncChild = > stream > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun (ticks, event) > -> async { > try > match event with > | FileSystem.FileSystemChange.Changed (codePath, _) > when System.IO.Path.GetFileName codePath = > "main.spi" > -> > let hashDir = codePath |> > System.IO.Directory.GetParent > let hashHex = hashDir.Name > let codePath = tokensDir </> codePath > let tokensPath = tokensDir </> hashHex </> > "tokens.json" > do! > codePath > |> SpiralFileSystem.wait_for_file_access_read > |> Async.runWithTimeoutAsync 3000 > |> Async.Ignore > let! tokens = codePath |> > Supervisor.getFileTokenRange None None > match tokens with > | Some tokens -> > do! > tokens > |> FSharp.Json.Json.serialize > |> SpiralFileSystem.write_all_text_async > tokensPath > | None -> > trace Verbose (fun () -> > $"Eval.startTokenRangeWatcher / iterAsyncParallel / tokens: None") _locals > | _ -> () > with ex -> > trace Critical (fun () -> $"Eval.startTokenRangeWatcher > / iterAsyncParallel / ex: {ex |> SpiralSm.format_exception}") _locals > }) > > let parentAsyncChild = async { > let parentProcessId = getParentProcessId () > trace Verbose > (fun () -> "Eval.parentAsyncChild") > (fun () -> $"parentProcessId: {parentProcessId} / {_locals > ()}") > > if parentProcessId > 0u then > let parentProcess = parentProcessId |> int |> > System.Diagnostics.Process.GetProcessById > do! parentProcess.WaitForExitAsync () |> Async.AwaitTask > trace Verbose > (fun () -> "Eval.parentAsyncChild / Parent process has > exited. Performing cleanup...") > (fun () -> $"{_locals ()}") > System.Threading.Thread.Sleep 1000 > System.Environment.Exit 1 > } > > async { > do! Async.Sleep 3000 > existingFilesChild |> Async.StartImmediate > streamAsyncChild |> Async.Start > parentAsyncChild |> Async.Start > } > |> Async.Start > with ex -> > trace Critical (fun () -> $"Eval.startTokenRangeWatcher / ex: {ex |> > SpiralSm.format_exception}") _locals > > disposable > else new_disposable (fun () -> ()) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## startCommandsWatcher │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let startCommandsWatcher (uriServer : string) = > let commandsDir = targetDir </> "eval_commands" > let commandHistoryDir = targetDir </> "eval_command_history" > [[ commandsDir; commandHistoryDir ]] > |> List.iter (fun dir -> if Directory.Exists dir |> not then > Directory.CreateDirectory dir |> ignore) > > Directory.EnumerateFiles commandsDir |> Seq.iter File.Delete > > let stream, disposable = > commandsDir > |> FileSystem.watchDirectory (function > | FileSystem.FileSystemChange.Created _ -> true > | _ -> false > ) > > let connection = HubConnectionBuilder().WithUrl(uriServer).Build() > connection.StartAsync() |> Async.AwaitTask |> Async.Start > // let _ = connection.On<string>("ServerToClientMsg", fun x -> > // printfn $"ServerToClientMsg: '{x}'" > // ) > > stream > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun (ticks, event) -> async { > let _locals () = $"ticks: {ticks} / event: {event} / {_locals ()}" > trace Verbose (fun () -> "Eval.startCommandsWatcher / > iterAsyncParallel") _locals > > match event with > | FileSystem.FileSystemChange.Created (path, Some json) -> > try > let fullPath = commandsDir </> path > let! result = > connection.InvokeAsync<string>("ClientToServerMsg", json) |> Async.AwaitTask > let commandHistoryPath = commandHistoryDir </> path > do! fullPath |> SpiralFileSystem.move_file_async > commandHistoryPath |> Async.Ignore > if result |> SpiralSm.trim |> String.length > 0 then > let resultPath = commandHistoryDir </> > $"{Path.GetFileNameWithoutExtension path}_result.json" > do! result |> SpiralFileSystem.write_all_text_async > resultPath > with ex -> > let _locals () = $"ex: {ex |> SpiralSm.format_exception} / > {_locals ()}" > trace Critical (fun () -> "Eval.startCommandsWatcher / > iterAsyncParallel") _locals > | _ -> () > }) > |> Async.StartChild > |> Async.Ignore > |> Async.Start > > new_disposable (fun () -> > disposable.Dispose () > ) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## eval │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline eval > (fsi_eval: > string > -> System.Threading.CancellationToken > -> Choice<'a, Exception> * (TraceLevel * string * int * (string * (int * > int) * (int * int))) array) > (cancellationToken: Option<System.Threading.CancellationToken>) > (code: string) > = > trace Verbose (fun () -> $"Eval.eval / code: %A{code}") _locals > > let rawCellCode = > code |> SpiralSm.replace "\r\n" "\n" > > let lines = rawCellCode |> SpiralSm.split "\n" > > if lines |> Array.exists (fun line -> line |> SpiralSm.starts_with "#r " && > line |> SpiralSm.ends_with "\"") then > let cancellationToken = defaultArg cancellationToken > System.Threading.CancellationToken.None > let ch, errors = fsi_eval code cancellationToken > match ch with > | Choice1Of2 v -> Ok(v), errors > | Choice2Of2 ex -> Error(ex), errors > else > try > let builderArgs = > lines > |> Array.choose (fun line -> > if line |> SpiralSm.starts_with "///! " > then line |> SpiralSm.split "///! " |> Array.tryItem 1 > else None > ) > > let timeout = > lines > |> Array.tryPick (fun line -> > if line |> SpiralSm.starts_with "//// timeout=" > then line |> SpiralSm.split "=" |> Array.tryItem 1 |> > Option.map int > else None > ) > |> Option.defaultValue (60000 * 60) > > let printCode = > lines > |> Array.tryPick (fun line -> > if line |> SpiralSm.starts_with "//// print_code=" > then line |> SpiralSm.split "=" |> Array.tryItem 1 |> > Option.map ((=) "true") > else None > ) > |> Option.defaultValue false > > let isTrace = > lines > |> Array.tryPick (fun line -> > if line |> SpiralSm.starts_with "//// trace=" > then line |> SpiralSm.split "=" |> Array.tryItem 1 |> > Option.map ((=) "true") > else None > ) > |> Option.defaultValue false > > let oldLevel = get_trace_level () > let traceLevel = > if isTrace > then Verbose > else Info > traceLevel > |> to_trace_level > |> set_trace_level > use _ = (new_disposable (fun () -> > oldLevel |> set_trace_level > )) > > let lastBlock = > lines > |> Array.tryFindBack (fun line -> > line |> String.length > 0 > && line.[[0]] <> ' ' > ) > > let hasMain = > lastBlock > |> Option.exists (fun line -> > line |> SpiralSm.starts_with "inl main " > || line |> SpiralSm.starts_with "let main " > ) > > let cellCode, lastTopLevelIndex = > if hasMain > then rawCellCode, None > else > let lastTopLevelIndex, _ = > (lines |> Array.indexed, (None, false)) > ||> Array.foldBack (fun (i, line) (lastTopLevelIndex, > finished) -> > trace Debug (fun () -> $"i: {i} / line: '{line}' / > lastTopLevelIndex: {lastTopLevelIndex} / finished: {finished}") _locals > match line with > | _ when finished -> lastTopLevelIndex, true > | "" -> lastTopLevelIndex, false > | line when > line |> SpiralSm.starts_with " " > || line |> SpiralSm.starts_with "// " -> > lastTopLevelIndex, false > | line when > line |> SpiralSm.starts_with "open " > || line |> SpiralSm.starts_with "prototype " > || line |> SpiralSm.starts_with "instance " > || line |> SpiralSm.starts_with "type " > || line |> SpiralSm.starts_with "union " > || line |> SpiralSm.starts_with "nominal " -> > lastTopLevelIndex, true > | line when > line |> SpiralSm.starts_with "inl " > || line |> SpiralSm.starts_with "let " -> > let m = > System.Text.RegularExpressions.Regex.Match ( > line, > @"^(inl|let) +([[~\(\w]][[\w\d']]*(?:| > *[[~\w]][[\w\d']]*\)|, *[[~\w]][[\w\d']]*)) +[[:=]](?! +function)" > ) > trace Debug (fun () -> $"m: '{m}' / > m.Groups.Count: {m.Groups.Count}") _locals > if m.Groups.Count = 3 > then Some i, false > else lastTopLevelIndex, true > | _ -> Some i, false > ) > let code = > match lastTopLevelIndex with > | Some lastTopLevelIndex -> > lines > |> Array.mapi (fun i line -> > match i with > | i when i < lastTopLevelIndex -> line > | i when i = lastTopLevelIndex -> $"\nlet main > () =\n {line}" > | _ when line |> SpiralSm.trim = "" -> "" > | _ -> $" {line}" > ) > |> SpiralSm.concat "\n" > | None -> $"{rawCellCode}\n\ninl main () = ()\n" > code, lastTopLevelIndex > > let newAllCode = $"{allCode}\n\n{cellCode}" > > async { > try > let! codeChoice = > newAllCode > |> Supervisor.buildCode timeout cancellationToken > |> Async.catch > |> Async.runWithTimeoutAsync timeout > > match codeChoice with > | Some (Ok (_mainPath, (fsxPath, Some code), spiralErrors)) > -> > let spiralErrors = > mapErrors (Warning, spiralErrors, lastTopLevelIndex) > allCode > let inline _trace (fn : unit -> string) = > if isTrace > then trace Info (fun () -> $"Eval.eval / {fn ()}") > _locals > else fn () |> System.Console.WriteLine > > if printCode > then _trace (fun () -> if builderArgs.Length > 0 then > $".fsx:\n{code}\n" else code) > > let! evalResult = > match builderArgs, lastTopLevelIndex with > | [[||]], _ | _, None -> None |> Async.init > | builderArgs, _ -> async { > let! result = > builderArgs > |> Array.map (fun builderArgs -> async { > let! exitCode, result = > SpiralRuntime.execution_options (fun > x -> > { x with > l0 = cancellationToken > l1 = > $"""{workspaceRoot}/apps/spiral/dist/Eval{SpiralRuntime.get_executable_suffix > ()} --file "{fsxPath}" --args "{builderArgs}" --trace-level %A{traceLevel}""" > l2 = [[| > "AUTOMATION", > assemblyName = "dotnet-repl" |> string > |]] > } > ) > |> > SpiralRuntime.execute_with_options_async > trace Debug (fun () -> $"Eval.eval / > builder / exitCode: {exitCode} / result: {result}") _locals > return > if exitCode = 0 > then result |> Ok > else result |> Error > |> Some > }) > |> Async.Parallel > return > (None, result) > ||> Array.fold (fun acc x -> x) > } > > let cancellationToken = defaultArg cancellationToken > System.Threading.CancellationToken.None > > let fsxResult = > if builderArgs.Length > 0 > then None > else > try > let ch, errors = fsi_eval code > cancellationToken > let errors = > errors > |> Array.map (fun (e1, e2, e3, _) -> > (e1, e2, e3, ("", (0, 0), (0, 0))) > ) > let errors = > if errors |> Array.isEmpty > then errors > else > errors > |> Array.append [[| > TraceLevel.Critical, $"Eval.eval > / fsi_eval error / fsxPath: {fsxPath} / builderArgs: %A{builderArgs} / code: > {code}", 0, ("", (0, 0), (0, 0)) > |]] > Some (ch, errors) > with ex -> > trace Critical (fun () -> $"Eval.eval / ex: > {ex |> SpiralSm.format_exception}") _locals > None > > match fsxResult, evalResult with > | Some (ch, errors), None -> > let errors = errors |> Array.append spiralErrors > match ch with > | Choice1Of2 v -> > allCode <- newAllCode > return Ok(v), errors > | Choice2Of2 ex -> return Error ex, errors > | _, Some result -> > let result, errors = > match result with > | Ok result -> > let result = result |> > FSharp.Json.Json.deserialize<Map<string,string>> > result, [[||]] > | Error error -> > ([[]] |> Map), > [[| > ( > TraceLevel.Critical, error, 0, ("", > (0, 0), (0, 0)) > ) > |]] > > if errors |> Array.isEmpty |> not > then return Error (Exception "Eval.eval / fsx > error"), errors > else > let extension = result.[["extension"]] > if printCode > then _trace (fun () -> > $""".{extension}:{'\n'}{result.[["code"]]}""") > > let output = > result.[["output"]] |> > FSharp.Json.Json.deserialize<Result<string, string>> > match output with > | Error error -> return Error (Exception error), > errors > | Ok output -> > let header = if printCode then > $".{extension} output:\n" else "" > let code = > if printCode > then > $"\"\"\"{header}{output}\n\n\n\"\"\"" > else $"\"\"\"{header}{output}\n\"\"\"" > > let ch, errors2 = fsi_eval code > cancellationToken > let errors = > errors > |> Array.append spiralErrors > |> Array.append errors2 > let errors = > if errors |> Array.isEmpty > then errors > else > errors > |> Array.append [[| > TraceLevel.Critical, $"Eval.eval > / fsi_eval error / fsxPath: {fsxPath} / builderArgs: %A{builderArgs} / code: > {code}", 0, ("", (0, 0), (0, 0)) > |]] > match ch with > | Choice1Of2 v -> > allCode <- newAllCode > return Ok(v), errors > | Choice2Of2 ex -> > return Error ex, errors > | _ -> > let ch, errors = fsi_eval "()" cancellationToken > match ch with > | Choice1Of2 v -> > allCode <- newAllCode > return Ok(v), errors > | Choice2Of2 ex -> > return Error ex, errors > | Some (Ok (_, _, errors)) when errors |> List.isEmpty |> > not -> > return errors.[[0]] |> fst |> Exception |> Error, > mapErrors (TraceLevel.Critical, errors, > lastTopLevelIndex) allCode > | Some (Error ex) -> > trace Critical (fun () -> $"Eval.eval / ex: {ex |> > SpiralSm.format_exception}") _locals > return Error (Exception $"Spiral error or timeout / ex: > {ex |> SpiralSm.format_exception}"), > [[| > ( > TraceLevel.Critical, $"Diag: Spiral error or > timeout / ex: %A{ex}", 0, ("", (0, 0), (0, 0)) > ) > |]] > | _ -> > return Error (Exception "Spiral error or timeout"), > [[| > ( > TraceLevel.Critical, "Diag: Spiral error or > timeout", 0, ("", (0, 0), (0, 0)) > ) > |]] > with ex -> > trace Critical (fun () -> $"Eval.eval / ex: {ex |> > SpiralSm.format_exception}") _locals > return Error (Exception $"Spiral error or timeout (4_) / ex: > {ex |> SpiralSm.format_exception}"), > [[| > ( > TraceLevel.Critical, $"Diag: Spiral error or timeout > (4) / ex: {ex |> SpiralSm.format_exception}", 0, ("", (0, 0), (0, 0)) > ) > |]] > } > |> Async.runWithTimeout timeout > |> Option.defaultValue ( > Error (Exception "Spiral error or timeout (2)"), > [[| > ( > TraceLevel.Critical, "Diag: Spiral error or timeout > (2)", 0, ("", (0, 0), (0, 0)) > ) > |]] > ) > with ex -> > trace Critical (fun () -> $"Eval.eval / ex: {ex |> > SpiralSm.format_exception}") _locals > Error (Exception $"Spiral error or timeout (3) / ex: {ex |> > SpiralSm.format_exception}"), > [[| > ( > TraceLevel.Critical, $"Diag: Spiral error or timeout (3) / > ex: {ex |> SpiralSm.format_exception}", 0, ("", (0, 0), (0, 0)) > ) > |]] > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## run │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let run file args traceLevel = async { > let isTrace = traceLevel = Verbose > let inline _trace (fn : unit -> string) = > if isTrace > then trace Info (fun () -> $"Eval.run / {fn ()}") _locals > else fn () |> System.Console.WriteLine > > let! code = file |> SpiralFileSystem.read_all_text_async > > let hashHex = code |> SpiralCrypto.hash_text > > let workspaceName = "spiral_eval" > > let! fsprojPath = > code > |> Builder.persistCodeProject > [["Fable.Core"]] > [[]] > workspaceName > (hashHex |> Some) > > let projectDir = fsprojPath |> Path.GetDirectoryName > > let workspaceDir = projectDir </> $"../.." > > let cargoTomlPath = projectDir </> $"Cargo.toml" > let workspaceCargoTomlPath = workspaceDir </> $"Cargo.toml" > > let emptyCargoTomlContent () = > let id = System.Random().Next (1000000000, 2000000000) > $"[[package]]\nname = \"spiral_eval_{id}\"\nversion = \"0.0.1\"\nedition > = \"2021\"\n\n[[[[bin]]]]\nname = \"spiral_eval_{id}\"\npath = > \"spiral_eval.rs\"" > > if cargoTomlPath |> File.Exists |> not then > do! emptyCargoTomlContent () |> SpiralFileSystem.write_all_text_exists > cargoTomlPath > > if workspaceCargoTomlPath |> File.Exists |> not then > do! emptyCargoTomlContent () |> SpiralFileSystem.write_all_text_exists > workspaceCargoTomlPath > > let libLinkTargetPath = workspaceRoot </> > "lib/rust/fable/fable_modules/fable-library-rust" > let libLinkPath = projectDir </> $"fable_modules/fable-library-rust" > > if Directory.Exists libLinkTargetPath |> not > then libLinkTargetPath |> Directory.CreateDirectory |> ignore > > libLinkPath |> Path.GetDirectoryName |> Directory.CreateDirectory |> ignore > > let libLinkPathInfo = DirectoryInfo libLinkPath > if libLinkPathInfo.Exists && libLinkPathInfo.LinkTarget = null then > Directory.Delete (libLinkPath, true) > > if libLinkPath |> Directory.Exists |> not then > Directory.CreateSymbolicLink (libLinkPath, libLinkTargetPath) > |> ignore > > let workspaceRootExternal = > let currentDir = > System.IO.Directory.GetCurrentDirectory () > |> SpiralSm.to_lower > let workspaceRoot = workspaceRoot |> SpiralSm.to_lower > if currentDir |> SpiralSm.starts_with workspaceRoot > then None > else Some workspaceRoot > > let! exitCode, spiralBuilderResult = > let command = > let path = > workspaceRoot </> > $@"workspace/target/release/spiral_builder{SpiralRuntime.get_executable_suffix > ()}" > |> System.IO.Path.GetFullPath > $"{path} --trace-level %A{traceLevel} fsharp --path \"{fsprojPath}\" > --package-dir \"{projectDir}\" --args \"{args}\"" > SpiralRuntime.execution_options (fun x -> > { x with > l1 = command > l6 = workspaceRootExternal > } > ) > |> SpiralRuntime.execute_with_options_async > > if exitCode <> 0 then > trace Critical (fun () -> $"Eval.run / spiral_builder / exitCode: > {exitCode} / spiralBuilderResult: {spiralBuilderResult}") _locals > return Some (Error spiralBuilderResult) > else > trace Debug (fun () -> $"Eval.run / spiral_builder / exitCode: > {exitCode} / spiralBuilderResult: {spiralBuilderResult}") _locals > > let! exitCode, dotnetFableResult = > SpiralRuntime.execution_options (fun x -> > { x with > l1 = $"dotnet fable \"{fsprojPath}\" --optimize --lang rs > --extension .rs --outDir \"{projectDir}\"" > l6 = workspaceRootExternal > } > ) > |> SpiralRuntime.execute_with_options_async > |> Async.retryAsync 3 > |> Async.map (Result.defaultWith (fun e -> 1, e)) > > if exitCode <> 0 then > trace Critical (fun () -> $"Eval.run / dotnet fable / exitCode: > {exitCode} / dotnetFableResult: {dotnetFableResult}") _locals > return Some (Error dotnetFableResult) > else > let spiralBuilderResult = > spiralBuilderResult > |> FSharp.Json.Json.deserialize<Map<string, string>> > > let cargoTomlContent = spiralBuilderResult.[["cargo_toml_content"]] > let workspaceCargoTomlContent = > spiralBuilderResult.[["workspace_cargo_toml_content"]] > > do! cargoTomlContent |> SpiralFileSystem.write_all_text_exists > cargoTomlPath > do! workspaceCargoTomlContent |> > SpiralFileSystem.write_all_text_exists workspaceCargoTomlPath > > try > let rangeRsPath = libLinkPath </> "src/Range.rs" > let! text = rangeRsPath |> SpiralFileSystem.read_all_text_async > do! > text > |> SpiralSm.replace "use crate::String_::fromCharCode;" "use > crate::String_::fromChar;" > |> SpiralSm.replace "fromCharCode(c)" > "std::char::from_u32(c).unwrap()" > |> SpiralFileSystem.write_all_text_exists rangeRsPath > with ex -> > trace Debug (fun () -> $"Eval.run / Range.rs error / > cargoFmtResult: {ex |> SpiralSm.format_exception} / spiralBuilderResult: > {spiralBuilderResult}") _locals > > let! exitCode, cargoFmtResult = > async { > > let! exitCode, cargoFmtResult = > SpiralRuntime.execution_options (fun x -> > { x with > l1 = $"cargo fmt --manifest-path > \"{cargoTomlPath}\" --" > l6 = workspaceRootExternal > } > ) > |> SpiralRuntime.execute_with_options_async > > if cargoFmtResult |> SpiralSm.contains "failed to load > manifest for workspace member" |> not > then return exitCode, cargoFmtResult > else > let missingTomlPath = > System.Text.RegularExpressions.Regex.Match > (cargoFmtResult, @"failed to read > `(.*?Cargo.toml)`") > |> fun m -> m.Groups.[[1]].Value > > if missingTomlPath |> File.Exists |> not then > do! emptyCargoTomlContent () |> > SpiralFileSystem.write_all_text_exists missingTomlPath > > return exitCode, cargoFmtResult > } > |> Async.retryAsync 3 > |> Async.map (Result.defaultWith (fun e -> 1, e)) > > if exitCode <> 0 then > trace Critical (fun () -> $"Eval.run / cargo fmt error / > exitCode: {exitCode} / cargoFmtResult: {cargoFmtResult} / spiralBuilderResult: > {spiralBuilderResult}") _locals > > let rsPath = projectDir </> $"{workspaceName}.rs" > let! rsCode = rsPath |> SpiralFileSystem.read_all_text_async > > let mainCodeHeader = "pub fn main() -> Result<(), String> {" > let mainCode = $"{mainCodeHeader} Ok(()) }}" > > let cached = rsCode |> SpiralSm.contains mainCodeHeader > > let rsCode = > if cached > then rsCode > else > rsCode > |> SpiralSm.replace "),);" "));" > |> SpiralSm.replace_regex "\s\sdefaultOf\(\);" " > defaultOf::<()>();" > |> SpiralSm.replace "defaultOf()," > "defaultOf::<std::sync::Arc<dyn IDisposable>>()," > |> SpiralSm.replace "_self_." "self." > |> SpiralSm.replace "get_or_insert_with" "get_or_init" > |> SpiralSm.replace "use > fable_library_rust::System::Collections::Concurrent::ConcurrentStack_1;" "type > ConcurrentStack_1<T> = T;" > |> SpiralSm.replace "use > fable_library_rust::System::Threading::CancellationToken;" "type > CancellationToken = ();" > |> SpiralSm.replace "use > fable_library_rust::System::TimeZoneInfo;" "type TimeZoneInfo = i64;" > |> SpiralSm.replace "use > fable_library_rust::System::Threading::Tasks::TaskCanceledException;" "type > TaskCanceledException = ();" > > if not cached > then do! > $"{rsCode}\n\n{mainCode}\n" > |> SpiralFileSystem.write_all_text_exists rsPath > > let command = $"cargo +nightly run --manifest-path > \"{cargoTomlPath}\"" > let environmentVariables = [[| > struct ("RUSTC_WRAPPER", "sccache") > // "RUSTFLAGS", "-C prefer-dynamic" > "RUSTFLAGS", "-C prefer-dynamic -C strip=symbols -C link-arg=-s > -C debuginfo=0" > // "RUSTFLAGS", "-C prefer-dynamic -C link-arg=-s -C debuginfo=0 > -C strip=symbols" > |]] > let! exitCode, cargoRunResult = > SpiralRuntime.execution_options (fun x -> > { x with > l1 = command > l2 = environmentVariables > l6 = workspaceRootExternal > } > ) > |> SpiralRuntime.execute_with_options_async > > [[ ".d"; ".exe"; ".pdb"; "" ]] > |> List.map (fun ext -> workspaceDir </> > $"target/debug/spiral_builder_{hashHex}{ext}") > |> List.filter File.Exists > |> List.iter File.Delete > > let externalCommand = > let vars = > environmentVariables > |> Array.map (fun struct (k, v) -> $"$env:{k}=''{v}''") > |> String.concat ";" > $"pwsh -c '{vars}; {command}'" > if exitCode = 0 then > let output = > try > cargoRunResult > |> SpiralSm.split "\n" > |> Array.skipWhile (fun line -> > (line |> SpiralSm.contains @"profile [[optimized]] > target" |> not) > && (line |> SpiralSm.contains @"profile > [[unoptimized]] target" |> not) > && (line |> SpiralSm.contains @"profile > [[unoptimized + debuginfo]] target" |> not) > ) > |> Array.skip 2 > |> SpiralSm.concat "\n" > |> Ok > with ex -> > $"ex: {ex} / rsPath: {rsPath} / externalCommand: > {externalCommand} / cargoRunResult: {cargoRunResult} / spiralBuilderResult: > {spiralBuilderResult}" |> Error > > let result = > [[ > "extension", "rs" > "code", rsCode > "output", (output |> FSharp.Json.Json.serialize) > ]] > |> Map > |> FSharp.Json.Json.serialize > |> Ok > |> Some > > return result > else > return Some (Error $"exitCode: {exitCode} / rsPath: {rsPath} / > externalCommand: {externalCommand} / cargoRunResult: {cargoRunResult}") > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Arguments │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > [[<RequireQualifiedAccess>]] > type Arguments = > | [[<Argu.ArguAttributes.ExactlyOnce>]] File of string > | [[<Argu.ArguAttributes.ExactlyOnce>]] Args of string > | [[<Argu.ArguAttributes.Unique>]] Trace_Level of TraceLevel > > interface Argu.IArgParserTemplate with > member s.Usage = > match s with > | File _ -> nameof File > | Args _ -> nameof Args > | Trace_Level _ -> nameof Trace_Level > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () > > ╭─[ 111.69ms - return value ]──────────────────────────────────────────────────╮ > │ "USAGE: dotnet-repl [--help] --file <string> --args <string> │ > │ [--trace-level <verbose|debug|info|warning|critical>] │ > │ │ > │ OPTIONS: │ > │ │ > │ --file <string> File │ > │ --args <string> Args │ > │ --trace-level <verbose|debug|info|warning|critical> │ > │ Trace_Level │ > │ --help display this list of options. │ > │ " │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## main │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let main args = > let argsMap = args |> Runtime.parseArgsMap<Arguments> > > let file = > match argsMap.[[nameof Arguments.File]] with > | [[ Arguments.File file ]] -> file |> Some > | _ -> None > |> Option.get > > let args = > match argsMap.[[nameof Arguments.Args]] with > | [[ Arguments.Args args ]] -> args |> Some > | _ -> None > |> Option.get > > let traceLevel = > match argsMap |> Map.tryFind (nameof Arguments.Trace_Level) with > | Some [[ Arguments.Trace_Level traceLevel ]] -> traceLevel > | _ -> Verbose > > traceLevel |> to_trace_level |> set_trace_level > > async { > let! result = run file args traceLevel > > return > match result with > | Some (Ok result) -> > trace Debug (fun () -> $"Eval.main / result: %A{result}") > _locals > > if traceLevel = Info > then result |> System.Console.WriteLine > 0 > | Some (Error error) -> > trace Critical (fun () -> $"Eval.main / error: %A{error}") > _locals > 1 > | None -> 1 > } > |> Async.runWithTimeout (60000 * 60) > |> Option.defaultValue 1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let args = > System.Environment.GetEnvironmentVariable "ARGS" > |> SpiralRuntime.split_args > |> Seq.toArray > > match args with > | [[||]] -> 0 > | args -> if main args = 0 then 0 else failwith "main failed" > > ╭─[ 61.99ms - return value ]───────────────────────────────────────────────────╮ > │ <div class="dni-plaintext"><pre>0 │ > │ </pre></div><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:26 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 80391 00:00:26 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None) 00:00:27 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb to html 00:00:27 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:27 verbose #7 ! validate(nb) 00:00:27 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:27 verbose #9 ! return _pygments_highlight( 00:00:28 verbose #10 ! [NbConvertApp] Writing 436796 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.html 00:00:28 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 894 00:00:28 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 894 00:00:28 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None) 00:00:28 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0 00:00:28 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0 00:00:28 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 81344 00:00:00 debug #1 writeDibCode / output: Fs / path: Eval.dib 00:00:00 debug #2 parseDibCode / output: Fs / file: Eval.dib 00:00:00 debug #1 persistCodeProject / packages: [Argu; FSharp.Control.AsyncSeq; FSharp.Json; ... ] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: Eval / hash: / code.Length: 43612 00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/polyglot/builder/Eval/Eval.fsproj 00:00:00 debug #1 execute_with_options_async / options: struct (None, "dotnet publish "/home/runner/work/polyglot/polyglot/target/polyglot/builder/Eval/Eval.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/apps/spiral/dist" --runtime linux-x64", [||], None, None, true, Some "/home/runner/work/polyglot/polyglot/target/polyglot/builder/Eval") 00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET 00:00:00 verbose #3 > Determining projects to restore... 00:00:01 verbose #4 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do. 00:00:01 verbose #6 > Total time taken: 0 milliseconds 00:00:01 verbose #7 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/Eval/Eval.fsproj 00:00:02 verbose #9 > Starting restore process. 00:00:02 verbose #10 > Total time taken: 0 milliseconds 00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/Eval/Eval.fsproj (in 337 ms). 00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/polyglot/builder/Eval/Eval.fsproj] 00:00:15 verbose #13 > Eval -> /home/runner/work/polyglot/polyglot/target/polyglot/builder/Eval/bin/Release/net9.0/linux-x64/Eval.dll 00:00:15 verbose #14 > Eval -> /home/runner/work/polyglot/polyglot/apps/spiral/dist 00:00:15 debug #15 execute_with_options_async / exit_code: 0 / output.Length: 1088
In [ ]:
{ pwsh ../apps/spiral/builder/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #28 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../../workspace/target/release/spiral_builder dib --path spiral_builder.dib",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "spiral_builder.dib"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:02 verbose #10 > >
00:00:02 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #13 > > │ # spiral_builder │
00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #15 > >
00:00:02 verbose #16 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:02 verbose #17 > > open file_system_operators
00:00:02 verbose #18 > > open rust_operators
00:00:02 verbose #19 > > open sm'_operators
00:00:02 verbose #20 > >
00:00:02 verbose #21 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:00:02 verbose #22 > > #r
00:00:02 verbose #23 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #24 > > Net.Interactive.Spiral.dll"
00:00:02 verbose #25 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:00:02 verbose #26 > > #r
00:00:02 verbose #27 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #28 > > Net.Interactive.dll"
00:00:02 verbose #29 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:05 verbose #30 > 00:00:05 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dbd4e241eb2e3e9a3661143aea0c86fecd75762a2bbbb339087b494077d89a25/main.spi
00:00:08 verbose #31 > >
00:00:08 verbose #32 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #33 > > //// test
00:00:08 verbose #34 > >
00:00:08 verbose #35 > > open testing
00:00:08 verbose #36 > 00:00:07 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c12ae2a75395e39b3def498de22659301f7a6ea52c622d4d10338cc3c8e9ec7c/main.spi
00:00:08 verbose #37 > >
00:00:08 verbose #38 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #39 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #40 > > │ ## types │
00:00:08 verbose #41 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #42 > >
00:00:08 verbose #43 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #44 > > inl types () =
00:00:08 verbose #45 > > env.types ()
00:00:08 verbose #46 > > file_system.types ()
00:00:08 verbose #47 > > runtime.types ()
00:00:08 verbose #48 > > rust.types ()
00:00:08 verbose #49 > > sm'.types ()
00:00:08 verbose #50 > 00:00:07 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/248bb57b697d1996f0f5b37eacf3016b68495eaea753490679abc947ca2c54e0/main.spi
00:00:08 verbose #51 > >
00:00:08 verbose #52 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #53 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #54 > > │ ## get_args │
00:00:08 verbose #55 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #56 > >
00:00:08 verbose #57 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #58 > > inl get_args () =
00:00:08 verbose #59 > > {
00:00:08 verbose #60 > > fsharp = "fsharp", {
00:00:08 verbose #61 > > path = "path", 'p'
00:00:08 verbose #62 > > package_dir = "package-dir", 'd'
00:00:08 verbose #63 > > args = "args", 'a'
00:00:08 verbose #64 > > }
00:00:08 verbose #65 > > rust = "rust", {
00:00:08 verbose #66 > > deps = "deps", 'd'
00:00:08 verbose #67 > > }
00:00:08 verbose #68 > > dib = "dib", {
00:00:08 verbose #69 > > path = "path", 'p'
00:00:08 verbose #70 > > retries = "retries", 'r'
00:00:08 verbose #71 > > working_directory = "working_directory", 'w'
00:00:08 verbose #72 > > }
00:00:08 verbose #73 > > trace_level = "trace-level", 't'
00:00:08 verbose #74 > > }
00:00:08 verbose #75 > 00:00:07 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/593afbb11cca96ec6417edf5e45d43bd8af78080f0b3511c80eab5f14319c72d/main.spi
00:00:08 verbose #76 > >
00:00:08 verbose #77 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #78 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #79 > > │ ## get_command │
00:00:08 verbose #80 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #81 > >
00:00:08 verbose #82 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #83 > > let get_command () =
00:00:08 verbose #84 > > ##"command"
00:00:08 verbose #85 > > |> runtime.new_command
00:00:08 verbose #86 > > |> runtime.command_init_arg (get_args () .trace_level) (
00:00:08 verbose #87 > > real runtime.arg_union `trace_level ignore
00:00:08 verbose #88 > > )
00:00:08 verbose #89 > > |> runtime.command_subcommand_required true
00:00:08 verbose #90 > > |> runtime.command_subcommand (
00:00:08 verbose #91 > > ##(get_args () .fsharp |> fst)
00:00:08 verbose #92 > > |> runtime.new_command
00:00:08 verbose #93 > > |> runtime.command_init_arg ((get_args () .fsharp |> snd).path) (
00:00:08 verbose #94 > > runtime.arg_required true
00:00:08 verbose #95 > > )
00:00:08 verbose #96 > > |> runtime.command_init_arg ((get_args () .fsharp |> snd).package_dir) (
00:00:08 verbose #97 > > runtime.arg_required true
00:00:08 verbose #98 > > )
00:00:08 verbose #99 > > |> runtime.command_init_arg ((get_args () .fsharp |> snd).args) (
00:00:08 verbose #100 > > id
00:00:08 verbose #101 > > )
00:00:08 verbose #102 > > )
00:00:08 verbose #103 > > |> runtime.command_subcommand (
00:00:08 verbose #104 > > ##(get_args () .rust |> fst)
00:00:08 verbose #105 > > |> runtime.new_command
00:00:08 verbose #106 > > |> runtime.command_init_arg ((get_args () .rust |> snd).deps) (
00:00:08 verbose #107 > > runtime.arg_value_names ;[[ ##"NAME"; ##"VERSION" ]]
00:00:08 verbose #108 > > >> runtime.arg_num_args_range (
00:00:08 verbose #109 > > runtime.new_value_range
00:00:08 verbose #110 > > (am'.Start (1i32 |> unativeint))
00:00:08 verbose #111 > > (am'.End id)
00:00:08 verbose #112 > > )
00:00:08 verbose #113 > > >> runtime.arg_action runtime.Append
00:00:08 verbose #114 > > )
00:00:08 verbose #115 > > )
00:00:08 verbose #116 > > |> runtime.command_subcommand (
00:00:08 verbose #117 > > ##(get_args () .dib |> fst)
00:00:08 verbose #118 > > |> runtime.new_command
00:00:08 verbose #119 > > |> runtime.command_init_arg ((get_args () .dib |> snd).path) (
00:00:08 verbose #120 > > runtime.arg_required true
00:00:08 verbose #121 > > // >> runtime.arg_value_parser (runtime.value_parser_path_buf ())
00:00:08 verbose #122 > > )
00:00:08 verbose #123 > > |> runtime.command_init_arg ((get_args () .dib |> snd).retries) (
00:00:08 verbose #124 > > runtime.arg_value_parser (runtime.value_parser_expr "u8")
00:00:08 verbose #125 > > )
00:00:08 verbose #126 > > |> runtime.command_init_arg ((get_args () .dib |>
00:00:08 verbose #127 > > snd).working_directory) (
00:00:08 verbose #128 > > id
00:00:08 verbose #129 > > )
00:00:08 verbose #130 > > )
00:00:08 verbose #131 > 00:00:08 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/382d4c8a33643bd3a9898957ed49703586c1e5abf86c138b68dcaa2900b83c55/main.spi
00:00:08 verbose #132 > >
00:00:08 verbose #133 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #134 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #135 > > │ ## get_workspace_cargo_toml_content │
00:00:08 verbose #136 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #137 > >
00:00:08 verbose #138 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #139 > > inl get_workspace_cargo_toml_content () : string =
00:00:08 verbose #140 > > $'$"""[[workspace]]\nresolver = "2"\nmembers =
00:00:08 verbose #141 > > [["packages/*"]]\n\n[[workspace.dependencies]]\nfable_library_rust = {{ path =
00:00:08 verbose #142 > > \"../../../../../lib/rust/fable/fable_modules/fable-library-rust\",
00:00:08 verbose #143 > > default-features = false, features = [[\"static_do_bindings\", \"datetime\",
00:00:08 verbose #144 > > \"guid\", \"threaded\"]] }}\ninline_colorization = \"~0.1\"\n\n"""'
00:00:08 verbose #145 > 00:00:08 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b2e9df79ec466b8ef5e0507dd8e89a5dc19a4e3fb84c27a389bb2397b7199da6/main.spi
00:00:08 verbose #146 > >
00:00:08 verbose #147 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #148 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #149 > > │ ## get_cargo_toml_content │
00:00:08 verbose #150 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #151 > >
00:00:08 verbose #152 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #153 > > inl get_cargo_toml_content { hash deps } : string =
00:00:08 verbose #154 > > $'$"""[[package]]\nname = \"spiral_builder_{!hash}\"\nversion =
00:00:08 verbose #155 > > "0.0.1"\nedition = "2021"\n\n[[dependencies]]\nfable_library_rust = {{ workspace
00:00:08 verbose #156 > > = true }}\ninline_colorization = {{ workspace = true
00:00:08 verbose #157 > > }}\n{!deps}\n\n[[[[bin]]]]\nname = \"spiral_builder_{!hash}\"\npath =
00:00:08 verbose #158 > > \"spiral_eval.rs\" """'
00:00:08 verbose #159 > 00:00:08 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cf811389352fa6358485265033e1fe403f890d391545c7a6252bf7e2c8a29924/main.spi
00:00:08 verbose #160 > >
00:00:08 verbose #161 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #162 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #163 > > │ ## process_dib │
00:00:08 verbose #164 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #165 > >
00:00:08 verbose #166 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #167 > > inl process_dib { path retries working_directory } =
00:00:08 verbose #168 > > inl exit_code, repl_result =
00:00:08 verbose #169 > > let rec loop retry =
00:00:08 verbose #170 > > inl exit_code, repl_result =
00:00:08 verbose #171 > > runtime.execution_options fun x => { x with
00:00:08 verbose #172 > > command = $'$"dotnet repl --exit-after-run --run
00:00:08 verbose #173 > > \\\"{!path}\\\" --output-path \\\"{!path}.ipynb\\\""'
00:00:08 verbose #174 > > environment_variables = ;[[ "AUTOMATION", "True" ]]
00:00:08 verbose #175 > > trace = false
00:00:08 verbose #176 > > working_directory
00:00:08 verbose #177 > > }
00:00:08 verbose #178 > > |> runtime.execute_with_options
00:00:08 verbose #179 > >
00:00:08 verbose #180 > > if exit_code = 0 || retry >= retries
00:00:08 verbose #181 > > then exit_code, repl_result
00:00:08 verbose #182 > > else
00:00:08 verbose #183 > > trace Debug
00:00:08 verbose #184 > > fun () => $'"spiral_builder.run / repl error"'
00:00:08 verbose #185 > > fun () => $'$"exit_code: {!exit_code} / retry:
00:00:08 verbose #186 > > {!retry}/{!retries} / repl_result: {!repl_result} / {!_locals ()}"'
00:00:08 verbose #187 > > loop (retry + 1)
00:00:08 verbose #188 > > loop 1
00:00:08 verbose #189 > >
00:00:08 verbose #190 > > inl exit_code, result =
00:00:08 verbose #191 > > if exit_code <>. 0
00:00:08 verbose #192 > > then exit_code, repl_result
00:00:08 verbose #193 > > else
00:00:08 verbose #194 > > inl exit_code, jupyter_result =
00:00:08 verbose #195 > > runtime.execution_options fun x => { x with
00:00:08 verbose #196 > > command = $'$"jupyter nbconvert \\\"{!path}.ipynb\\\" --to
00:00:08 verbose #197 > > html --HTMLExporter.theme=dark"'
00:00:08 verbose #198 > > }
00:00:08 verbose #199 > > |> runtime.execute_with_options
00:00:08 verbose #200 > >
00:00:08 verbose #201 > > trace Debug
00:00:08 verbose #202 > > fun () => $'"spiral_builder.run / dib / jupyter nbconvert"'
00:00:08 verbose #203 > > fun () => $'$"exit_code: {!exit_code} / jupyter_result.Length:
00:00:08 verbose #204 > > {!jupyter_result.Length} / {!_locals ()}"'
00:00:08 verbose #205 > >
00:00:08 verbose #206 > > if exit_code <>. 0
00:00:08 verbose #207 > > then exit_code, $'$"repl_result: {!repl_result}\n\njupyter_result:
00:00:08 verbose #208 > > {!jupyter_result}"'
00:00:08 verbose #209 > > else
00:00:08 verbose #210 > > inl exit_code, pwsh_replace_html_result =
00:00:08 verbose #211 > > inl path = path |> sm'.replace "'" "''"
00:00:08 verbose #212 > > runtime.execution_options fun x => { x with
00:00:08 verbose #213 > > command = $'$"pwsh -c \\\"$counter = 1; $path =
00:00:08 verbose #214 > > \'{!path}.html\'; (Get-Content $path -Raw) -replace
00:00:08 verbose #215 > > \'(id=\\\\\\"cell-id=)[[a-fA-F0-9]]{{8}}\', {{ $_.Groups[[1]].Value + $counter++
00:00:08 verbose #216 > > }} | Set-Content $path\\\""'
00:00:08 verbose #217 > > }
00:00:08 verbose #218 > > |> runtime.execute_with_options
00:00:08 verbose #219 > >
00:00:08 verbose #220 > > trace Debug
00:00:08 verbose #221 > > fun () => $'"spiral_builder.run / dib / html cell ids"'
00:00:08 verbose #222 > > fun () => $'$"exit_code: {!exit_code}
00:00:08 verbose #223 > > pwsh_replace_html_result.Length: {!pwsh_replace_html_result.Length} / {!_locals
00:00:08 verbose #224 > > ()}"'
00:00:08 verbose #225 > >
00:00:08 verbose #226 > > $'$"{!path}.html"'
00:00:08 verbose #227 > > |> file_system.read_all_text
00:00:08 verbose #228 > > |> sm'.replace "\r\n" "\n"
00:00:08 verbose #229 > > |> file_system.write_all_text $'$"{!path}.html"'
00:00:08 verbose #230 > >
00:00:08 verbose #231 > > $'$"{!path}.ipynb"'
00:00:08 verbose #232 > > |> file_system.read_all_text
00:00:08 verbose #233 > > |> sm'.replace "\\r\\n" "\\n"
00:00:08 verbose #234 > > |> file_system.write_all_text $'$"{!path}.ipynb"'
00:00:08 verbose #235 > >
00:00:08 verbose #236 > > exit_code, $'$"repl_result: {!repl_result}\n\njupyter_result:
00:00:08 verbose #237 > > {!jupyter_result}\n\npwsh_replace_html_result: {!pwsh_replace_html_result}"'
00:00:08 verbose #238 > >
00:00:08 verbose #239 > > trace Debug
00:00:08 verbose #240 > > fun () => $'"spiral_builder.run / dib"'
00:00:08 verbose #241 > > fun () => $'$"exit_code: {!exit_code} / result.Length: {!result.Length}
00:00:08 verbose #242 > > / {!_locals ()}"'
00:00:08 verbose #243 > >
00:00:08 verbose #244 > > if exit_code <>. 0
00:00:08 verbose #245 > > then failwith $'$"spiral_builder.run / dib / exit_code: {!exit_code}
00:00:08 verbose #246 > > result: {!result} / {!_locals ()}"'
00:00:08 verbose #247 > > ;[[
00:00:08 verbose #248 > > "stdio",
00:00:08 verbose #249 > > result
00:00:08 verbose #250 > > ]]
00:00:08 verbose #251 > 00:00:08 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3498d019048a33cc15915edc81060a864742e713a28e878e45a0cc54503fd096/main.spi
00:00:09 verbose #252 > >
00:00:09 verbose #253 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #254 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #255 > > │ ## process_fsharp │
00:00:09 verbose #256 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #257 > >
00:00:09 verbose #258 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #259 > > inl process_fsharp { path package_dir deps } =
00:00:09 verbose #260 > > inl path = path |> file_system.get_full_path
00:00:09 verbose #261 > > inl package_dir = package_dir |> file_system.get_full_path
00:00:09 verbose #262 > > inl hash = package_dir |> file_system.get_file_name
00:00:09 verbose #263 > >
00:00:09 verbose #264 > > inl deps =
00:00:09 verbose #265 > > deps
00:00:09 verbose #266 > > |> am'.vec_map fun dep =>
00:00:09 verbose #267 > > inl dep = dep |> sm'.from_std_string
00:00:09 verbose #268 > > if dep |> sm'.contains "="
00:00:09 verbose #269 > > then dep
00:00:09 verbose #270 > > else $'$"{!dep}=\\"*\\""'
00:00:09 verbose #271 > > |> am'.from_vec
00:00:09 verbose #272 > > |> fun x => x : _ i32 _
00:00:09 verbose #273 > > |> seq.of_array'
00:00:09 verbose #274 > > |> sm'.concat "\n"
00:00:09 verbose #275 > >
00:00:09 verbose #276 > > ;[[
00:00:09 verbose #277 > > "cargo_toml_content",
00:00:09 verbose #278 > > get_cargo_toml_content { hash deps }
00:00:09 verbose #279 > >
00:00:09 verbose #280 > > "workspace_cargo_toml_content",
00:00:09 verbose #281 > > get_workspace_cargo_toml_content ()
00:00:09 verbose #282 > > ]]
00:00:09 verbose #283 > 00:00:08 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e32b28098c3077a4d1b55a63fdb06948ca80fb1449899ff6fbfe3d773af74637/main.spi
00:00:09 verbose #284 > >
00:00:09 verbose #285 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #286 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #287 > > │ ## run │
00:00:09 verbose #288 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #289 > >
00:00:09 verbose #290 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #291 > > let rec run (matches : runtime.arg_matches) : async.future_pin (resultm.result'
00:00:09 verbose #292 > > string string) =
00:00:09 verbose #293 > > fun () =>
00:00:09 verbose #294 > > match matches |> runtime.matches_subcommand |> optionm'.unbox with
00:00:09 verbose #295 > > | Some (subcommand, arg_matches)
00:00:09 verbose #296 > > when sm'.from_std_string subcommand = (get_args () .fsharp |>
00:00:09 verbose #297 > > fst) =>
00:00:09 verbose #298 > > inl path =
00:00:09 verbose #299 > > arg_matches
00:00:09 verbose #300 > > |> runtime.matches_get_one ((get_args () .fsharp |> snd).path |>
00:00:09 verbose #301 > > fst)
00:00:09 verbose #302 > > |> optionm'.unbox
00:00:09 verbose #303 > > |> optionm.value
00:00:09 verbose #304 > > |> sm'.from_std_string
00:00:09 verbose #305 > >
00:00:09 verbose #306 > > inl package_dir =
00:00:09 verbose #307 > > arg_matches
00:00:09 verbose #308 > > |> runtime.matches_get_one ((get_args () .fsharp |>
00:00:09 verbose #309 > > snd).package_dir |> fst)
00:00:09 verbose #310 > > |> optionm'.unbox
00:00:09 verbose #311 > > |> optionm.value
00:00:09 verbose #312 > > |> sm'.from_std_string
00:00:09 verbose #313 > >
00:00:09 verbose #314 > > inl args =
00:00:09 verbose #315 > > arg_matches
00:00:09 verbose #316 > > |> runtime.matches_get_one ((get_args () .fsharp |> snd).args |>
00:00:09 verbose #317 > > fst)
00:00:09 verbose #318 > > |> optionm'.unbox
00:00:09 verbose #319 > > |> optionm.map sm'.from_std_string
00:00:09 verbose #320 > >
00:00:09 verbose #321 > > inl result =
00:00:09 verbose #322 > > match args with
00:00:09 verbose #323 > > | Some args =>
00:00:09 verbose #324 > > get_command ()
00:00:09 verbose #325 > > |> runtime.command_get_matches_from ($'$"_ {!args}"' |>
00:00:09 verbose #326 > > runtime.split_args)
00:00:09 verbose #327 > > |> run
00:00:09 verbose #328 > > |> async.block_on
00:00:09 verbose #329 > > |> resultm.unwrap'
00:00:09 verbose #330 > > | None => "{}"
00:00:09 verbose #331 > > |> sm'.deserialize
00:00:09 verbose #332 > > |> resultm.unwrap'
00:00:09 verbose #333 > >
00:00:09 verbose #334 > > inl deps =
00:00:09 verbose #335 > > result
00:00:09 verbose #336 > > |> mapm.get ("deps" |> sm'.to_std_string)
00:00:09 verbose #337 > > |> optionm'.unwrap
00:00:09 verbose #338 > > |> sm'.from_std_string
00:00:09 verbose #339 > > |> sm'.deserialize
00:00:09 verbose #340 > > |> resultm.unwrap'
00:00:09 verbose #341 > >
00:00:09 verbose #342 > > process_fsharp { path package_dir deps }
00:00:09 verbose #343 > >
00:00:09 verbose #344 > > | Some (subcommand, arg_matches)
00:00:09 verbose #345 > > when sm'.from_std_string subcommand = (get_args () .rust |> fst)
00:00:09 verbose #346 > > =>
00:00:09 verbose #347 > > inl deps : am'.vec sm'.std_string =
00:00:09 verbose #348 > > arg_matches
00:00:09 verbose #349 > > |> runtime.matches_get_many ((get_args () .rust |> snd).deps |>
00:00:09 verbose #350 > > fst)
00:00:09 verbose #351 > > |> optionm'.unbox
00:00:09 verbose #352 > > |> optionm'.default_value (;[[]] |> am'.to_vec)
00:00:09 verbose #353 > >
00:00:09 verbose #354 > > ;[[
00:00:09 verbose #355 > > "deps",
00:00:09 verbose #356 > > deps |> sm'.serialize |> resultm.unwrap' |> sm'.from_std_string
00:00:09 verbose #357 > > ]]
00:00:09 verbose #358 > >
00:00:09 verbose #359 > > | Some (subcommand, arg_matches)
00:00:09 verbose #360 > > when sm'.from_std_string subcommand = (get_args () .dib |> fst)
00:00:09 verbose #361 > > =>
00:00:09 verbose #362 > > inl path =
00:00:09 verbose #363 > > arg_matches
00:00:09 verbose #364 > > |> runtime.matches_get_one ((get_args () .dib |> snd).path |>
00:00:09 verbose #365 > > fst)
00:00:09 verbose #366 > > |> optionm'.map'' (
00:00:09 verbose #367 > > sm'.from_std_string
00:00:09 verbose #368 > > >> file_system.absolute_path
00:00:09 verbose #369 > > )
00:00:09 verbose #370 > > |> optionm'.unwrap
00:00:09 verbose #371 > >
00:00:09 verbose #372 > > inl retries =
00:00:09 verbose #373 > > arg_matches
00:00:09 verbose #374 > > |> runtime.matches_get_one ((get_args () .dib |> snd).retries |>
00:00:09 verbose #375 > > fst)
00:00:09 verbose #376 > > |> optionm'.default_value' 1u8
00:00:09 verbose #377 > >
00:00:09 verbose #378 > > inl working_directory : optionm'.option' string =
00:00:09 verbose #379 > > arg_matches
00:00:09 verbose #380 > > |> runtime.matches_get_one ((get_args () .dib |>
00:00:09 verbose #381 > > snd).working_directory |> fst)
00:00:09 verbose #382 > >
00:00:09 verbose #383 > > process_dib { path retries working_directory }
00:00:09 verbose #384 > >
00:00:09 verbose #385 > > | Some (subcommand, arg_matches) =>
00:00:09 verbose #386 > > trace Debug
00:00:09 verbose #387 > > fun () => $'"spiral_builder.run"'
00:00:09 verbose #388 > > fun () => $'$"subcommand: {!subcommand} / {!_locals ()}"'
00:00:09 verbose #389 > >
00:00:09 verbose #390 > > ;[[]]
00:00:09 verbose #391 > > | _ => ;[[]]
00:00:09 verbose #392 > > |> am'.to_vec
00:00:09 verbose #393 > > |> am'.vec_map' fun k, v =>
00:00:09 verbose #394 > > new_pair (sm'.to_std_string k) (sm'.to_std_string v)
00:00:09 verbose #395 > > |> mapm.b_tree_map_from_vec_pairs
00:00:09 verbose #396 > > |> sm'.serialize
00:00:09 verbose #397 > > |> resultm.map_error' (sm'.format' >> sm'.from_std_string)
00:00:09 verbose #398 > > |> resultm.map' sm'.from_std_string
00:00:09 verbose #399 > > |> async.future_init (3, 2) 1
00:00:09 verbose #400 > 00:00:08 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7ab523bb4451e470cdca0cce83453b7aeca36b6568674aa692ae1fd5c01e460c/main.spi
00:00:09 verbose #401 > >
00:00:09 verbose #402 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #403 > > //// test
00:00:09 verbose #404 > > ///! rust -d clap encoding_rs encoding_rs_io futures futures-lite regex
00:00:09 verbose #405 > > serde_json
00:00:09 verbose #406 > >
00:00:09 verbose #407 > > types ()
00:00:09 verbose #408 > > get_command ()
00:00:09 verbose #409 > > |> runtime.command_get_matches_from ($'$"_ fsharp -p p -d d -a rust"' |>
00:00:09 verbose #410 > > runtime.split_args)
00:00:09 verbose #411 > > |> run
00:00:09 verbose #412 > > |> async.block_on
00:00:09 verbose #413 > > |> resultm.unwrap'
00:00:09 verbose #414 > > |> _assert_eq (
00:00:09 verbose #415 > > ;[[
00:00:09 verbose #416 > > "cargo_toml_content",
00:00:09 verbose #417 > > get_cargo_toml_content { hash = "d"; deps = "" }
00:00:09 verbose #418 > >
00:00:09 verbose #419 > > "workspace_cargo_toml_content",
00:00:09 verbose #420 > > get_workspace_cargo_toml_content ()
00:00:09 verbose #421 > > ]]
00:00:09 verbose #422 > > |> am'.to_vec
00:00:09 verbose #423 > > |> am'.vec_map' fun k, v =>
00:00:09 verbose #424 > > new_pair (sm'.to_std_string k) (sm'.to_std_string v)
00:00:09 verbose #425 > > |> mapm.b_tree_map_from_vec_pairs
00:00:09 verbose #426 > > |> sm'.serialize
00:00:09 verbose #427 > > |> resultm.unwrap'
00:00:09 verbose #428 > > |> sm'.from_std_string
00:00:09 verbose #429 > > )
00:00:09 verbose #430 > 00:00:09 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/03d1b75fd50d69fe0db697b5a2cf0edfada48d226eeb109c5181772e03f705ee/main.spi
00:00:41 verbose #431 > >
00:00:41 verbose #432 > > ╭─[ 31.65s - return value ]────────────────────────────────────────────────────╮
00:00:41 verbose #433 > > │ assert_eq / actual: "{"cargo_toml_content":"[package]\nname = │
00:00:41 verbose #434 > > │ \"spiral_builder_d\"\nversion = \"0.0.1\"\nedition = \"2021\"\n\n[ │
00:00:41 verbose #435 > > │ dependencies]\nfable_library_rust = { workspace = true │
00:00:41 verbose #436 > > │ }\ninline_colorization = { workspace = true }\n\n\n[[bin]]\nname = │
00:00:41 verbose #437 > > │ \"spiral_builder_d\"\npath = \"spiral_eval.rs\" │
00:00:41 verbose #438 > > │ ","workspace_cargo_toml_content":"[workspace]\nresolver = \"2\"\nmembers = [ │
00:00:41 verbose #439 > > │ \"packages/*\"]\n\n[workspace.dependencies]\nfable_library_rust = { path = │
00:00:41 verbose #440 > > │ \"../../../../../lib/rust/fable/fable_modules/fable-library-rust\", │
00:00:41 verbose #441 > > │ default-features = false, features = [\"static_do_bindings\", \"datetime\", │
00:00:41 verbose #442 > > │ \"guid\", \"threaded\"] }\ninline_colorization = \"~0.1\"\n\n"}" / expected: │
00:00:41 verbose #443 > > │ "{"cargo_toml_content":"[package]\nname = \"spiral_builder_d\"\nversion = │
00:00:41 verbose #444 > > │ \"0.0.1\"\nedition = \"2021\"\n\n[dependencies]\nfable_library_rust = { │
00:00:41 verbose #445 > > │ workspace = true }\ninline_colorization = { workspace = true }\n\n\n[[ │
00:00:41 verbose #446 > > │ bin]]\nname = \"spiral_builder_d\"\npath = \"spiral_eval.rs\" │
00:00:41 verbose #447 > > │ ","workspace_cargo_toml_content":"[workspace]\nresolver = \"2\"\nmembers = [ │
00:00:41 verbose #448 > > │ \"packages/*\"]\n\n[workspace.dependencies]\nfable_library_rust = { path = │
00:00:41 verbose #449 > > │ \"../../../../../lib/rust/fable/fable_modules/fable-library-rust\", │
00:00:41 verbose #450 > > │ default-features = false, features = [\"static_do_bindings\", \"datetime\", │
00:00:41 verbose #451 > > │ \"guid\", \"threaded\"] }\ninline_colorization = \"~0.1\"\n\n"}" │
00:00:41 verbose #452 > > │ │
00:00:41 verbose #453 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:41 verbose #454 > >
00:00:41 verbose #455 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:41 verbose #456 > > //// test
00:00:41 verbose #457 > > ///! rust -d clap encoding_rs encoding_rs_io futures futures-lite regex
00:00:41 verbose #458 > > serde_json
00:00:41 verbose #459 > >
00:00:41 verbose #460 > > types ()
00:00:41 verbose #461 > > get_command ()
00:00:41 verbose #462 > > |> runtime.command_get_matches_from ($'$"_ fsharp -p p -d d -a \\\"rust --deps a
00:00:41 verbose #463 > > b=\'1\'\\\""' |> runtime.split_args)
00:00:41 verbose #464 > > |> run
00:00:41 verbose #465 > > |> async.block_on
00:00:41 verbose #466 > > |> resultm.unwrap'
00:00:41 verbose #467 > > |> _assert_eq (
00:00:41 verbose #468 > > ;[[
00:00:41 verbose #469 > > "cargo_toml_content",
00:00:41 verbose #470 > > get_cargo_toml_content { hash = "d"; deps = "a=\"*\"\nb=\'1\'" }
00:00:41 verbose #471 > >
00:00:41 verbose #472 > > "workspace_cargo_toml_content",
00:00:41 verbose #473 > > get_workspace_cargo_toml_content ()
00:00:41 verbose #474 > > ]]
00:00:41 verbose #475 > > |> am'.to_vec
00:00:41 verbose #476 > > |> am'.vec_map' fun k, v =>
00:00:41 verbose #477 > > new_pair (sm'.to_std_string k) (sm'.to_std_string v)
00:00:41 verbose #478 > > |> mapm.b_tree_map_from_vec_pairs
00:00:41 verbose #479 > > |> sm'.serialize
00:00:41 verbose #480 > > |> resultm.unwrap'
00:00:41 verbose #481 > > |> sm'.from_std_string
00:00:41 verbose #482 > > )
00:00:41 verbose #483 > 00:00:40 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9766b5fe58f8ad5dbd09872485e49798e7229f190fc74487b8a17c1bc05accd5/main.spi
00:00:57 verbose #484 > >
00:00:57 verbose #485 > > ╭─[ 16.56s - return value ]────────────────────────────────────────────────────╮
00:00:57 verbose #486 > > │ assert_eq / actual: "{"cargo_toml_content":"[package]\nname = │
00:00:57 verbose #487 > > │ \"spiral_builder_d\"\nversion = \"0.0.1\"\nedition = \"2021\"\n\n[ │
00:00:57 verbose #488 > > │ dependencies]\nfable_library_rust = { workspace = true │
00:00:57 verbose #489 > > │ }\ninline_colorization = { workspace = true }\na=\"*\"\nb='1'\n\n[[ │
00:00:57 verbose #490 > > │ bin]]\nname = \"spiral_builder_d\"\npath = \"spiral_eval.rs\" │
00:00:57 verbose #491 > > │ ","workspace_cargo_toml_content":"[workspace]\nresolver = \"2\"\nmembers = [ │
00:00:57 verbose #492 > > │ \"packages/*\"]\n\n[workspace.dependencies]\nfable_library_rust = { path = │
00:00:57 verbose #493 > > │ \"../../../../../lib/rust/fable/fable_modules/fable-library-rust\", │
00:00:57 verbose #494 > > │ default-features = false, features = [\"static_do_bindings\", \"datetime\", │
00:00:57 verbose #495 > > │ \"guid\", \"threaded\"] }\ninline_colorization = \"~0.1\"\n\n"}" / expected: │
00:00:57 verbose #496 > > │ "{"cargo_toml_content":"[package]\nname = \"spiral_builder_d\"\nversion = │
00:00:57 verbose #497 > > │ \"0.0.1\"\nedition = \"2021\"\n\n[dependencies]\nfable_library_rust = { │
00:00:57 verbose #498 > > │ workspace = true }\ninline_colorization = { workspace = true │
00:00:57 verbose #499 > > │ }\na=\"*\"\nb='1'\n\n[[bin]]\nname = \"spiral_builder_d\"\npath = │
00:00:57 verbose #500 > > │ \"spiral_eval.rs\" ","workspace_cargo_toml_content":"[workspace]\nresolver = │
00:00:57 verbose #501 > > │ \"2\"\nmembers = [\"packages/*\"]\n\n[ │
00:00:57 verbose #502 > > │ workspace.dependencies]\nfable_library_rust = { path = │
00:00:57 verbose #503 > > │ \"../../../../../lib/rust/fable/fable_modules/fable-library-rust\", │
00:00:57 verbose #504 > > │ default-features = false, features = [\"static_do_bindings\", \"datetime\", │
00:00:57 verbose #505 > > │ \"guid\", \"threaded\"] }\ninline_colorization = \"~0.1\"\n\n"}" │
00:00:57 verbose #506 > > │ │
00:00:57 verbose #507 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:57 verbose #508 > >
00:00:57 verbose #509 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:57 verbose #510 > > //// test
00:00:57 verbose #511 > > ///! rust -d chrono clap encoding_rs encoding_rs_io futures futures-lite regex
00:00:57 verbose #512 > > serde_json
00:00:57 verbose #513 > >
00:00:57 verbose #514 > > types ()
00:00:57 verbose #515 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:00:57 verbose #516 > > inl file_name = "test.dib"
00:00:57 verbose #517 > > inl path = temp_folder </> file_name |> file_system.normalize_path
00:00:57 verbose #518 > >
00:00:57 verbose #519 > > "#!meta\n\n{\"kernelInfo\":{\"defaultKernelName\":\"fsharp\",\"items\":[[]]}}\n\
00:00:57 verbose #520 > > n#!fsharp\n\n3 - 6"
00:00:57 verbose #521 > > |> file_system.write_all_text path
00:00:57 verbose #522 > >
00:00:57 verbose #523 > > get_command ()
00:00:57 verbose #524 > > |> runtime.command_get_matches_from ($'$"_ dib -p {!path}"' |>
00:00:57 verbose #525 > > runtime.split_args)
00:00:57 verbose #526 > > |> run
00:00:57 verbose #527 > > |> async.block_on
00:00:57 verbose #528 > > |> resultm.unwrap'
00:00:57 verbose #529 > > |> __assert_string_contains false "<pre>-3 "
00:00:57 verbose #530 > >
00:00:57 verbose #531 > > $'$"{!path}.html"'
00:00:57 verbose #532 > > |> file_system.read_all_text
00:00:57 verbose #533 > > |> __assert_string_contains false "\"cell-id=1\""
00:00:57 verbose #534 > >
00:00:57 verbose #535 > > disposable |> use |> ignore
00:00:57 verbose #536 > 00:00:57 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9c3dd35bb4098a49f7d8a9ada5492594cd2a27d4ba99b99130bdeaaf671c6122/main.spi
00:01:20 verbose #537 > >
00:01:20 verbose #538 > > ╭─[ 22.91s - return value ]────────────────────────────────────────────────────╮
00:01:20 verbose #539 > > │ 00:00:00 verbose #1 file_system.create_directory / dir: │
00:01:20 verbose #540 > > │ /tmp/!spiral_builder_17077284b24ea2c03080769ef7f22906394182b1d825c59387486d3 │
00:01:20 verbose #541 > > │ 69563ec89/20240520-1328-4759-4767-0000005007a6 │
00:01:20 verbose #542 > > │ 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / │
00:01:20 verbose #543 > > │ arguments: ["repl", "--exit-after-run", "--run", │
00:01:20 verbose #544 > > │ "/tmp/!spiral_builder_17077284b24ea2c03080769ef7f22906394182b1d825c59387486d │
00:01:20 verbose #545 > > │ 369563ec89/20240520-1328-4759-4767-0000005007a6/test.dib", "--output-path", │
00:01:20 verbose #546 > > │ "/tmp/!spiral_builder_17077284b24ea2c03080769ef7f22906394182b1d825c59387486d │
00:01:20 verbose #547 > > │ 369563ec89/20240520-1328-4759-4767-0000005007a6/test.dib.ipynb"] / options: │
00:01:20 verbose #548 > > │ (None, "dotnet repl --exit-after-run --run │
00:01:20 verbose #549 > > │ "/tmp/!spiral_builder_17077284b24ea2c03080769ef7f22906394182b1d825c59387486d │
00:01:20 verbose #550 > > │ 369563ec89/20240520-1328-4759-4767-0000005007a6/test.dib" --output-path │
00:01:20 verbose #551 > > │ "/tmp/!spiral_builder_17077284b24ea2c03080769ef7f22906394182b1d825c59387486d │
00:01:20 verbose #552 > > │ 369563ec89/20240520-1328-4759-4767-0000005007a6/test.dib.ipynb"", │
00:01:20 verbose #553 > > │ Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) │
00:01:20 verbose #554 > > │ > │
00:01:20 verbose #555 > > │ > ── fsharp │
00:01:20 verbose #556 > > │ ────────────────────────────────────────────────────────────────────── │
00:01:20 verbose #557 > > │ > 3 - 6 │
00:01:20 verbose #558 > > │ > │
00:01:20 verbose #559 > > │ > ── fsharp - import │
00:01:20 verbose #560 > > │ ───────────────────────────────────────────────────────────── │
00:01:20 verbose #561 > > │ > #r │
00:01:20 verbose #562 > > │ > │
00:01:20 verbose #563 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:01:20 verbose #564 > > │ .Asp │
00:01:20 verbose #565 > > │ > NetCore.Html.Abstractions.dll" │
00:01:20 verbose #566 > > │ > #r │
00:01:20 verbose #567 > > │ > │
00:01:20 verbose #568 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:01:20 verbose #569 > > │ .Dot │
00:01:20 verbose #570 > > │ > Net.Interactive.dll" │
00:01:20 verbose #571 > > │ > #r │
00:01:20 verbose #572 > > │ > "/home/runner/.nuget/pack... │
00:01:20 verbose #573 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:20 verbose #574 > >
00:01:20 verbose #575 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:20 verbose #576 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:20 verbose #577 > > │ ## tests │
00:01:20 verbose #578 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:20 verbose #579 > >
00:01:20 verbose #580 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:20 verbose #581 > > inl tests () =
00:01:20 verbose #582 > > rust.run_tests [[
00:01:20 verbose #583 > > "verify_app", fun _ =>
00:01:20 verbose #584 > > get_command () |> runtime.command_debug_assert
00:01:20 verbose #585 > > ]]
00:01:20 verbose #586 > 00:01:20 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/62370c0540576fee65d65c99c0518f3ddd109900ae3506ecf8d494f6fc5d00df/main.spi
00:01:20 verbose #587 > >
00:01:20 verbose #588 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:20 verbose #589 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:20 verbose #590 > > │ ## main │
00:01:20 verbose #591 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:20 verbose #592 > >
00:01:20 verbose #593 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:20 verbose #594 > > ///!
00:01:20 verbose #595 > >
00:01:20 verbose #596 > > inl main (args : array_base string) =
00:01:20 verbose #597 > > inl trace_state = get_trace_state_or_init None
00:01:20 verbose #598 > >
00:01:20 verbose #599 > > inl command = get_command ()
00:01:20 verbose #600 > > inl arg_matches = command |> runtime.command_get_matches
00:01:20 verbose #601 > >
00:01:20 verbose #602 > > inl trace_level =
00:01:20 verbose #603 > > arg_matches
00:01:20 verbose #604 > > |> runtime.matches_get_one (get_args () .trace_level |> fst)
00:01:20 verbose #605 > > |> optionm'.unbox
00:01:20 verbose #606 > > |> optionm.map sm'.from_std_string
00:01:20 verbose #607 > >
00:01:20 verbose #608 > > inl trace_state_level = trace_state.level
00:01:20 verbose #609 > > match trace_level with
00:01:20 verbose #610 > > | Some trace_level =>
00:01:20 verbose #611 > > inl trace_state_level = trace_state.level
00:01:20 verbose #612 > > trace_state_level <- trace_level |> of_string
00:01:20 verbose #613 > > | None => ()
00:01:20 verbose #614 > >
00:01:20 verbose #615 > > trace Debug
00:01:20 verbose #616 > > fun () => $'$"spiral_builder.main"'
00:01:20 verbose #617 > > fun () => $'$"args: {!args} / {!_locals ()}"'
00:01:20 verbose #618 > >
00:01:20 verbose #619 > > inl result =
00:01:20 verbose #620 > > arg_matches
00:01:20 verbose #621 > > |> run
00:01:20 verbose #622 > > |> async.block_on
00:01:20 verbose #623 > > |> resultm.unwrap'
00:01:20 verbose #624 > >
00:01:20 verbose #625 > > if *trace_state_level = Info
00:01:20 verbose #626 > > then result |> console.write_line
00:01:20 verbose #627 > >
00:01:20 verbose #628 > > 0i32
00:01:20 verbose #629 > >
00:01:20 verbose #630 > > inl main () =
00:01:20 verbose #631 > > types ()
00:01:20 verbose #632 > > $"let tests () = !tests ()" : ()
00:01:20 verbose #633 > > $"let main args = !main args" : ()
00:01:20 verbose #634 > 00:01:20 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/de9c50df1f8531bb5d6b204f0bbb8c49c222c4d181e683c5ee7c66e834348ff2/main.spi
00:01:21 verbose #635 > 00:01:20 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 29113
00:01:21 verbose #636 > 00:01:20 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:22 verbose #637 > 00:01:20 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb to html
00:01:22 verbose #638 > 00:01:20 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:22 verbose #639 > 00:01:20 verbose #7 ! validate(nb)
00:01:22 verbose #640 > 00:01:21 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:22 verbose #641 > 00:01:21 verbose #9 ! return _pygments_highlight(
00:01:22 verbose #642 > 00:01:21 verbose #10 ! [NbConvertApp] Writing 354845 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.html
00:01:22 verbose #643 > 00:01:21 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 930
00:01:22 verbose #644 > 00:01:21 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 930
00:01:22 verbose #645 > 00:01:21 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:23 verbose #646 > 00:01:21 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:23 verbose #647 > 00:01:21 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:23 verbose #648 > 00:01:21 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 30102
00:01:23 debug #649 execute_with_options_async / exit_code: 0 / output.Length: 33843
00:01:23 debug #3 main / executeCommand / exitCode: 0 / command: ../../../workspace/target/release/spiral_builder dib --path spiral_builder.dib
00:01:23 verbose #29 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:01:23 verbose #30 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 writeDibCode / output: Spi / path: spiral_builder.dib
00:00:00 debug #2 parseDibCode / output: Spi / file: spiral_builder.dib
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #28 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 verbose #30 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 debug #3 buildFile / takeWhileInclusive / path: spiral_builder.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 debug #4 buildFile / takeWhileInclusive / path: spiral_builder.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 verbose #5 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # spiral_builder\nopen file_system_operators\nopen rust_operators\nopen ... : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.spi"}} / result:
00:00:01 verbose #6 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.spi"}} / result:
00:00:01 verbose #7 > 00:00:01 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.spi
00:00:02 debug #7 buildFile / takeWhileInclusive / path: spiral_builder.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #8 buildFile / takeWhileInclusive / path: spiral_builder.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #9 buildFile / takeWhileInclusive / path: spiral_builder.spi / fsxContent: #if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]
#endif
type std_env_VarError = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]
#endif... if v57 then
System.Console.WriteLine v54
()
0
let v0 : (unit -> unit) = closure0()
let tests () = v0 ()
let v1 : ((string []) -> int32) = closure1()
let main args = v1 args
()
/ errors: [] / typeErrorCount: 0
00:00:04 debug #10 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:04 verbose #31 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:00:04 verbose #32 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 persistCodeProject / packages: [Fable.Core] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: spiral_builder / hash: / code.Length: 339810
targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/builder/spiral_builder
Fable 4.17.0: F# to Rust compiler (status: alpha)
Thanks to the contributor! @IanManske
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target/polyglot/builder/spiral_builder/spiral_builder.fsproj...
target/polyglot/builder/spiral_builder> dotnet restore spiral_builder.fable-temp.csproj -p:FABLE_COMPILER=true -p:FABLE_COMPILER_4=true -p:FABLE_COMPILER_RUST=true
Determining projects to restore...
Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
The last full restore is still up to date. Nothing left to do.
Total time taken: 0 milliseconds
Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/spiral_builder/spiral_builder.fable-temp.csproj
Starting restore process.
Total time taken: 0 milliseconds
Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/spiral_builder/spiral_builder.fable-temp.csproj (in 295 ms).
target/polyglot/builder/spiral_builder> dotnet restore /home/runner/work/polyglot/polyglot/target/polyglot/builder/spiral_builder/spiral_builder.fsproj
Determining projects to restore...
Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
The last full restore is still up to date. Nothing left to do.
Total time taken: 0 milliseconds
Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/spiral_builder/spiral_builder.fsproj
Starting restore process.
Total time taken: 0 milliseconds
Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/spiral_builder/spiral_builder.fsproj (in 291 ms).
Project and references (13 source files) parsed in 6556ms
Started Fable compilation...
Fable compilation finished in 6770ms
./lib/spiral/crypto.fsx(490,0): (490,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/async_.fsx(112,0): (112,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/common.fsx(831,0): (831,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/common.fsx(838,0): (838,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/sm.fsx(594,0): (594,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/threading.fsx(167,0): (167,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/date_time.fsx(639,0): (639,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/networking.fsx(2842,0): (2842,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/networking.fsx(2851,0): (2851,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/trace.fsx(710,0): (710,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/trace.fsx(713,0): (713,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/file_system.fsx(5639,0): (5639,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/file_system.fsx(5678,0): (5678,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/runtime.fsx(3837,0): (3837,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/runtime.fsx(3850,0): (3850,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
Compiling memchr v2.7.2
Compiling libc v0.2.155
Compiling futures-core v0.3.30
Compiling cfg-if v1.0.0
Compiling futures-io v0.3.30
Compiling pin-project-lite v0.2.14
Compiling futures-sink v0.3.30
Compiling slab v0.4.9
Compiling futures-channel v0.3.30
Compiling pin-utils v0.1.0
Compiling futures-task v0.3.30
Compiling utf8parse v0.2.1
Compiling anstyle-parse v0.2.4
Compiling anstyle v1.0.7
Compiling num_cpus v1.16.0
Compiling futures-util v0.3.30
Compiling is_terminal_polyfill v1.70.0
Compiling anstyle-query v1.0.3
Compiling colorchoice v1.0.1
Compiling getrandom v0.2.15
Compiling anstream v0.6.14
Compiling aho-corasick v1.1.3
Compiling num-traits v0.2.19
Compiling regex-syntax v0.8.3
Compiling clap_lex v0.7.0
Compiling strsim v0.11.1
Compiling iana-time-zone v0.1.60
Compiling chrono v0.4.38
Compiling futures-executor v0.3.30
Compiling futures v0.3.30
Compiling regex-automata v0.4.6
Compiling clap_builder v4.5.2
Compiling uuid v1.8.0
Compiling serde v1.0.202
Compiling encoding_rs v0.8.34
Compiling itoa v1.0.11
Compiling ryu v1.0.18
Compiling fastrand v2.1.0
Compiling parking v2.2.0
Compiling startup v0.1.1 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust/vendored/startup)
Compiling futures-lite v2.3.0
Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust)
Compiling serde_json v1.0.117
Compiling encoding_rs_io v0.1.7
Compiling regex v1.10.4
Compiling clap v4.5.4
Compiling inline_colorization v0.1.6
Compiling spiral_builder v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/builder)
Finished `release` profile [optimized] target(s) in 19.71s
Running unittests spiral_builder.rs (/home/runner/work/polyglot/polyglot/workspace/target/release/deps/spiral_builder-96d054a5137dfa24)
running 1 test
test module_7e2cd9e0::Spiral_builder::verify_app ... ok
successes:
successes:
module_7e2cd9e0::Spiral_builder::verify_app
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust)
Compiling spiral_builder v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/builder)
Finished `release` profile [optimized] target(s) in 17.14s
In [ ]:
{ pwsh ../lib/fsharp/build.ps1 -sequential 1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #28 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path Async.dib --retries 3",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Async.dib", "--retries", "3"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:02 verbose #10 > >
00:00:02 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #13 > > │ # Async (Polyglot) │
00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #15 > >
00:00:02 verbose #16 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:02 verbose #17 > > #!import ../../lib/fsharp/Notebooks.dib
00:00:02 verbose #18 > > #!import ../../lib/fsharp/Testing.dib
00:00:02 verbose #19 > >
00:00:02 verbose #20 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:02 verbose #21 > > #r
00:00:02 verbose #22 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:00:02 verbose #23 > > NetCore.Html.Abstractions.dll"
00:00:02 verbose #24 > > #r
00:00:02 verbose #25 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #26 > > Net.Interactive.dll"
00:00:02 verbose #27 > > #r
00:00:02 verbose #28 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #29 > > Net.Interactive.FSharp.dll"
00:00:02 verbose #30 > > #r
00:00:02 verbose #31 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #32 > > Net.Interactive.Formatting.dll"
00:00:02 verbose #33 > > open System
00:00:02 verbose #34 > > open System.IO
00:00:02 verbose #35 > > open System.Text
00:00:02 verbose #36 > > open Microsoft.DotNet.Interactive.Formatting
00:00:04 verbose #37 > >
00:00:04 verbose #38 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 verbose #39 > > #r
00:00:04 verbose #40 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:04 verbose #41 > > Net.Interactive.FSharp.dll"
00:00:04 verbose #42 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:04 verbose #43 > > #r
00:00:04 verbose #44 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:04 verbose #45 > > Net.Interactive.dll"
00:00:04 verbose #46 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:04 verbose #47 > >
00:00:04 verbose #48 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 verbose #49 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:00:05 verbose #50 > >
00:00:05 verbose #51 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #52 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:00:05 verbose #53 > > TextWriter)->fprintfn writer "%120A" x)
00:00:05 verbose #54 > >
00:00:05 verbose #55 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #56 > > //// test
00:00:05 verbose #57 > >
00:00:05 verbose #58 > > Formatter.ListExpansionLimit <- 100
00:00:05 verbose #59 > >
00:00:05 verbose #60 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #61 > > #if FABLE_COMPILER
00:00:05 verbose #62 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:05 verbose #63 > > #endif
00:00:05 verbose #64 > > type std_env_VarError = class end
00:00:05 verbose #65 > > #if FABLE_COMPILER
00:00:05 verbose #66 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:05 verbose #67 > > #endif
00:00:05 verbose #68 > > type core_any_Any = class end
00:00:05 verbose #69 > > #if FABLE_COMPILER
00:00:05 verbose #70 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:05 verbose #71 > > #endif
00:00:05 verbose #72 > > type core_ops_Try<'T> = class end
00:00:05 verbose #73 > > #if FABLE_COMPILER
00:00:05 verbose #74 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:05 verbose #75 > > #endif
00:00:05 verbose #76 > > type Func0<'T> = class end
00:00:05 verbose #77 > > #if FABLE_COMPILER
00:00:05 verbose #78 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:05 verbose #79 > > #endif
00:00:05 verbose #80 > > type Func0<'T, 'U> = class end
00:00:05 verbose #81 > > #if FABLE_COMPILER
00:00:05 verbose #82 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:05 verbose #83 > > #endif
00:00:05 verbose #84 > > type Box<'T> = class end
00:00:05 verbose #85 > > #if FABLE_COMPILER
00:00:05 verbose #86 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:05 verbose #87 > > #endif
00:00:05 verbose #88 > > type Dyn<'T> = class end
00:00:05 verbose #89 > > #if FABLE_COMPILER
00:00:05 verbose #90 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:05 verbose #91 > > #endif
00:00:05 verbose #92 > > type Send<'T> = class end
00:00:05 verbose #93 > > #if FABLE_COMPILER
00:00:05 verbose #94 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:05 verbose #95 > > #endif
00:00:05 verbose #96 > > type Fn<'T> = class end
00:00:05 verbose #97 > > #if FABLE_COMPILER
00:00:05 verbose #98 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:05 verbose #99 > > #endif
00:00:05 verbose #100 > > type FnUnit = class end
00:00:05 verbose #101 > > #if FABLE_COMPILER
00:00:05 verbose #102 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:05 verbose #103 > > #endif
00:00:05 verbose #104 > > type FnOnce<'T> = class end
00:00:05 verbose #105 > > #if FABLE_COMPILER
00:00:05 verbose #106 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:05 verbose #107 > > #endif
00:00:05 verbose #108 > > type ActionFn<'T> = class end
00:00:05 verbose #109 > > #if FABLE_COMPILER
00:00:05 verbose #110 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:05 verbose #111 > > #endif
00:00:05 verbose #112 > > type ActionFn2<'T, 'U> = class end
00:00:05 verbose #113 > > #if FABLE_COMPILER
00:00:05 verbose #114 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:05 verbose #115 > > #endif
00:00:05 verbose #116 > > type Impl<'T> = class end
00:00:05 verbose #117 > > #if FABLE_COMPILER
00:00:05 verbose #118 > > [[<Fable...
00:00:06 verbose #119 > >
00:00:06 verbose #120 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:06 verbose #121 > > #if FABLE_COMPILER
00:00:06 verbose #122 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:06 verbose #123 > > #endif
00:00:06 verbose #124 > > type core_any_Any = class end
00:00:06 verbose #125 > > #if FABLE_COMPILER
00:00:06 verbose #126 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:06 verbose #127 > > #endif
00:00:06 verbose #128 > > type core_ops_Try<'T> = class end
00:00:06 verbose #129 > > #if FABLE_COMPILER
00:00:06 verbose #130 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:06 verbose #131 > > #endif
00:00:06 verbose #132 > > type Func0<'T> = class end
00:00:06 verbose #133 > > #if FABLE_COMPILER
00:00:06 verbose #134 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:06 verbose #135 > > #endif
00:00:06 verbose #136 > > type Func0<'T, 'U> = class end
00:00:06 verbose #137 > > #if FABLE_COMPILER
00:00:06 verbose #138 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:06 verbose #139 > > #endif
00:00:06 verbose #140 > > type Box<'T> = class end
00:00:06 verbose #141 > > #if FABLE_COMPILER
00:00:06 verbose #142 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:06 verbose #143 > > #endif
00:00:06 verbose #144 > > type Dyn<'T> = class end
00:00:06 verbose #145 > > #if FABLE_COMPILER
00:00:06 verbose #146 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:06 verbose #147 > > #endif
00:00:06 verbose #148 > > type Send<'T> = class end
00:00:06 verbose #149 > > #if FABLE_COMPILER
00:00:06 verbose #150 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:06 verbose #151 > > #endif
00:00:06 verbose #152 > > type Fn<'T> = class end
00:00:06 verbose #153 > > #if FABLE_COMPILER
00:00:06 verbose #154 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:06 verbose #155 > > #endif
00:00:06 verbose #156 > > type FnUnit = class end
00:00:06 verbose #157 > > #if FABLE_COMPILER
00:00:06 verbose #158 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:06 verbose #159 > > #endif
00:00:06 verbose #160 > > type FnOnce<'T> = class end
00:00:06 verbose #161 > > #if FABLE_COMPILER
00:00:06 verbose #162 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:06 verbose #163 > > #endif
00:00:06 verbose #164 > > type ActionFn<'T> = class end
00:00:06 verbose #165 > > #if FABLE_COMPILER
00:00:06 verbose #166 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:06 verbose #167 > > #endif
00:00:06 verbose #168 > > type ActionFn2<'T, 'U> = class end
00:00:06 verbose #169 > > #if FABLE_COMPILER
00:00:06 verbose #170 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:06 verbose #171 > > #endif
00:00:06 verbose #172 > > type Impl<'T> = class end
00:00:06 verbose #173 > > #if FABLE_COMPILER
00:00:06 verbose #174 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:00:06 verbose #175 > > #endif
00:00:06 verbose #176 > > type Mut<'T> = class end
00:00:06 verbose #177 > > #if FABLE_COMPILER
00:00:06 verbose #178 > > [[<Fable.Core.Erase; Fable.Co...
00:00:07 verbose #179 > >
00:00:07 verbose #180 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #181 > > #if FABLE_COMPILER
00:00:07 verbose #182 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:00:07 verbose #183 > > #endif
00:00:07 verbose #184 > > type async_std_task_JoinHandle<'T> = class end
00:00:07 verbose #185 > > #if FABLE_COMPILER
00:00:07 verbose #186 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:00:07 verbose #187 > > #endif
00:00:07 verbose #188 > > type std_future_Future<'T> = class end
00:00:07 verbose #189 > > #if FABLE_COMPILER
00:00:07 verbose #190 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:00:07 verbose #191 > > #endif
00:00:07 verbose #192 > > type rayon_vec_IntoIter<'T> = class end
00:00:07 verbose #193 > > #if FABLE_COMPILER
00:00:07 verbose #194 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:00:07 verbose #195 > > #endif
00:00:07 verbose #196 > > type rayon_iter_Map<'T> = class end
00:00:07 verbose #197 > > #if FABLE_COMPILER
00:00:07 verbose #198 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:00:07 verbose #199 > > #endif
00:00:07 verbose #200 > > type futures_lite_stream_StreamExt = class end
00:00:07 verbose #201 > > #if FABLE_COMPILER
00:00:07 verbose #202 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:00:07 verbose #203 > > #endif
00:00:07 verbose #204 > > type futures_future_TryJoinAll<'T> = class end
00:00:07 verbose #205 > > #if FABLE_COMPILER
00:00:07 verbose #206 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:00:07 verbose #207 > > #endif
00:00:07 verbose #208 > > type futures_future_Fuse<'T> = class end
00:00:07 verbose #209 > > #if FABLE_COMPILER
00:00:07 verbose #210 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:00:07 verbose #211 > > #endif
00:00:07 verbose #212 > > type futures_future_JoinAll<'T> = class end
00:00:07 verbose #213 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:00:07 verbose #214 > > Async<System.Threading.CancellationToken> =
00:00:07 verbose #215 > > let v1 : bool = true
00:00:07 verbose #216 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:00:07 verbose #217 > >
00:00:07 verbose #218 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:07 verbose #219 > >
00:00:07 verbose #220 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:00:07 verbose #221 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:00:07 verbose #222 > > unbox<Async<System...
00:00:07 verbose #223 > >
00:00:07 verbose #224 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #225 > > #if FABLE_COMPILER
00:00:07 verbose #226 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:00:07 verbose #227 > > #endif
00:00:07 verbose #228 > > type std_thread_JoinHandle<'T> = class end
00:00:07 verbose #229 > > #if FABLE_COMPILER
00:00:07 verbose #230 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:00:07 verbose #231 > > #endif
00:00:07 verbose #232 > > type std_sync_Arc<'T> = class end
00:00:07 verbose #233 > > #if FABLE_COMPILER
00:00:07 verbose #234 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:00:07 verbose #235 > > #endif
00:00:07 verbose #236 > > type std_sync_Mutex<'T> = class end
00:00:07 verbose #237 > > #if FABLE_COMPILER
00:00:07 verbose #238 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:00:07 verbose #239 > > #endif
00:00:07 verbose #240 > > type std_sync_MutexGuard<'T> = class end
00:00:07 verbose #241 > > #if FABLE_COMPILER
00:00:07 verbose #242 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:00:07 verbose #243 > > #endif
00:00:07 verbose #244 > > type std_sync_PoisonError<'T> = class end
00:00:07 verbose #245 > > #if FABLE_COMPILER
00:00:07 verbose #246 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:00:07 verbose #247 > > #endif
00:00:07 verbose #248 > > type std_sync_mpsc_Receiver<'T> = class end
00:00:07 verbose #249 > > #if FABLE_COMPILER
00:00:07 verbose #250 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:00:07 verbose #251 > > #endif
00:00:07 verbose #252 > > type std_sync_mpsc_SendError<'T> = class end
00:00:07 verbose #253 > > #if FABLE_COMPILER
00:00:07 verbose #254 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:00:07 verbose #255 > > #endif
00:00:07 verbose #256 > > type std_sync_mpsc_Sender<'T> = class end
00:00:07 verbose #257 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:00:07 verbose #258 > > _.Dispose () = f ()
00:00:07 verbose #259 > > type [[<Struct>]] US0 =
00:00:07 verbose #260 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:00:07 verbose #261 > > | US0_1
00:00:07 verbose #262 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:00:07 verbose #263 > > let v1 : bool = true
00:00:07 verbose #264 > > let mutable _v1 : unit option = None
00:00:07 verbose #265 > >
00:00:07 verbose #266 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:07 verbose #267 > >
00:00:07 verbose #268 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:00:07 verbose #269 > >
00:00:07 verbose #270 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #271 > > #if FABLE_COMPILER
00:00:07 verbose #272 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:00:07 verbose #273 > > #endif
00:00:07 verbose #274 > > type reqwest_Error = class end
00:00:07 verbose #275 > > #if FABLE_COMPILER
00:00:07 verbose #276 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:00:07 verbose #277 > > #endif
00:00:07 verbose #278 > > type reqwest_RequestBuilder = class end
00:00:07 verbose #279 > > #if FABLE_COMPILER
00:00:07 verbose #280 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:00:07 verbose #281 > > #endif
00:00:07 verbose #282 > > type reqwest_Response = class end
00:00:07 verbose #283 > > #if FABLE_COMPILER
00:00:07 verbose #284 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:07 verbose #285 > > #endif
00:00:07 verbose #286 > > type std_env_VarError = class end
00:00:07 verbose #287 > > #if FABLE_COMPILER
00:00:07 verbose #288 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:07 verbose #289 > > #endif
00:00:07 verbose #290 > > type core_any_Any = class end
00:00:07 verbose #291 > > #if FABLE_COMPILER
00:00:07 verbose #292 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:07 verbose #293 > > #endif
00:00:07 verbose #294 > > type core_ops_Try<'T> = class end
00:00:07 verbose #295 > > #if FABLE_COMPILER
00:00:07 verbose #296 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:07 verbose #297 > > #endif
00:00:07 verbose #298 > > type Func0<'T> = class end
00:00:07 verbose #299 > > #if FABLE_COMPILER
00:00:07 verbose #300 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:07 verbose #301 > > #endif
00:00:07 verbose #302 > > type Func0<'T, 'U> = class end
00:00:07 verbose #303 > > #if FABLE_COMPILER
00:00:07 verbose #304 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:07 verbose #305 > > #endif
00:00:07 verbose #306 > > type Box<'T> = class end
00:00:07 verbose #307 > > #if FABLE_COMPILER
00:00:07 verbose #308 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:07 verbose #309 > > #endif
00:00:07 verbose #310 > > type Dyn<'T> = class end
00:00:07 verbose #311 > > #if FABLE_COMPILER
00:00:07 verbose #312 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:07 verbose #313 > > #endif
00:00:07 verbose #314 > > type Send<'T> = class end
00:00:07 verbose #315 > > #if FABLE_COMPILER
00:00:07 verbose #316 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:07 verbose #317 > > #endif
00:00:07 verbose #318 > > type Fn<'T> = class end
00:00:07 verbose #319 > > #if FABLE_COMPILER
00:00:07 verbose #320 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:07 verbose #321 > > #endif
00:00:07 verbose #322 > > type FnUnit = class end
00:00:07 verbose #323 > > #if FABLE_COMPILER
00:00:07 verbose #324 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:07 verbose #325 > > #...
00:00:09 verbose #326 > >
00:00:09 verbose #327 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:09 verbose #328 > > #if FABLE_COMPILER
00:00:09 verbose #329 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:00:09 verbose #330 > > #endif
00:00:09 verbose #331 > > type clap_Arg = class end
00:00:09 verbose #332 > > #if FABLE_COMPILER
00:00:09 verbose #333 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:00:09 verbose #334 > > #endif
00:00:09 verbose #335 > > type clap_ArgAction = class end
00:00:09 verbose #336 > > #if FABLE_COMPILER
00:00:09 verbose #337 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:00:09 verbose #338 > > #endif
00:00:09 verbose #339 > > type clap_Command = class end
00:00:09 verbose #340 > > #if FABLE_COMPILER
00:00:09 verbose #341 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:00:09 verbose #342 > > #endif
00:00:09 verbose #343 > > type clap_ArgMatches = class end
00:00:09 verbose #344 > > #if FABLE_COMPILER
00:00:09 verbose #345 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:00:09 verbose #346 > > #endif
00:00:09 verbose #347 > > type clap_builder_ValueRange = class end
00:00:09 verbose #348 > > #if FABLE_COMPILER
00:00:09 verbose #349 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:00:09 verbose #350 > > #endif
00:00:09 verbose #351 > > type clap_builder_ValueParser = class end
00:00:09 verbose #352 > > #if FABLE_COMPILER
00:00:09 verbose #353 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:00:09 verbose #354 > > #endif
00:00:09 verbose #355 > > type clap_builder_PossibleValue = class end
00:00:09 verbose #356 > > #if FABLE_COMPILER
00:00:09 verbose #357 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:00:09 verbose #358 > > #endif
00:00:09 verbose #359 > > type std_process_Child = class end
00:00:09 verbose #360 > > #if FABLE_COMPILER
00:00:09 verbose #361 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:00:09 verbose #362 > > #endif
00:00:09 verbose #363 > > type std_process_ChildStderr = class end
00:00:09 verbose #364 > > #if FABLE_COMPILER
00:00:09 verbose #365 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:00:09 verbose #366 > > #endif
00:00:09 verbose #367 > > type std_process_ChildStdout = class end
00:00:09 verbose #368 > > #if FABLE_COMPILER
00:00:09 verbose #369 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:00:09 verbose #370 > > #endif
00:00:09 verbose #371 > > type std_process_ChildStdin = class end
00:00:09 verbose #372 > > #if FABLE_COMPILER
00:00:09 verbose #373 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:00:09 verbose #374 > > #endif
00:00:09 verbose #375 > > type std_process_Command = class ...
00:00:10 verbose #376 > >
00:00:10 verbose #377 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 verbose #378 > > #if FABLE_COMPILER
00:00:10 verbose #379 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:00:10 verbose #380 > > #endif
00:00:10 verbose #381 > > type std_fs_File = class end
00:00:10 verbose #382 > > #if FABLE_COMPILER
00:00:10 verbose #383 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:00:10 verbose #384 > > #endif
00:00:10 verbose #385 > > type std_fs_FileType = class end
00:00:10 verbose #386 > > #if FABLE_COMPILER
00:00:10 verbose #387 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:00:10 verbose #388 > > #endif
00:00:10 verbose #389 > > type std_path_Display = class end
00:00:10 verbose #390 > > #if FABLE_COMPILER
00:00:10 verbose #391 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:00:10 verbose #392 > > #endif
00:00:10 verbose #393 > > type std_path_Path = class end
00:00:10 verbose #394 > > #if FABLE_COMPILER
00:00:10 verbose #395 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:00:10 verbose #396 > > #endif
00:00:10 verbose #397 > > type std_path_PathBuf = class end
00:00:10 verbose #398 > > #if FABLE_COMPILER
00:00:10 verbose #399 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:00:10 verbose #400 > > #endif
00:00:10 verbose #401 > > type async_walkdir_DirEntry = class end
00:00:10 verbose #402 > > #if FABLE_COMPILER
00:00:10 verbose #403 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:00:10 verbose #404 > > #endif
00:00:10 verbose #405 > > type async_walkdir_Filtering = class end
00:00:10 verbose #406 > > #if FABLE_COMPILER
00:00:10 verbose #407 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:00:10 verbose #408 > > #endif
00:00:10 verbose #409 > > type async_walkdir_WalkDir = class end
00:00:10 verbose #410 > > #if FABLE_COMPILER
00:00:10 verbose #411 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:10 verbose #412 > > #endif
00:00:10 verbose #413 > > type core_any_Any = class end
00:00:10 verbose #414 > > #if FABLE_COMPILER
00:00:10 verbose #415 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:10 verbose #416 > > #endif
00:00:10 verbose #417 > > type core_ops_Try<'T> = class end
00:00:10 verbose #418 > > #if FABLE_COMPILER
00:00:10 verbose #419 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:10 verbose #420 > > #endif
00:00:10 verbose #421 > > type Func0<'T> = class end
00:00:10 verbose #422 > > #if FABLE_COMPILER
00:00:10 verbose #423 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:10 verbose #424 > > #endif
00:00:10 verbose #425 > > type Func0<'T, 'U> = class end
00:00:10 verbose #426 > > #if FABLE_COMPILER
00:00:10 verbose #427 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:10 verbose #428 > > #endif
00:00:10 verbose #429 > > type Box<'T> = clas...
00:00:12 verbose #430 > >
00:00:12 verbose #431 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #432 > > module SpiralTrace =
00:00:12 verbose #433 > > let trace x =
00:00:12 verbose #434 > > #if !INTERACTIVE
00:00:12 verbose #435 > > Trace.trace x
00:00:12 verbose #436 > > #else
00:00:12 verbose #437 > > trace x
00:00:12 verbose #438 > > #endif
00:00:12 verbose #439 > >
00:00:12 verbose #440 > > type TraceLevel =
00:00:12 verbose #441 > > #if !INTERACTIVE
00:00:12 verbose #442 > > Trace.US0
00:00:12 verbose #443 > > #else
00:00:12 verbose #444 > > US0
00:00:12 verbose #445 > > #endif
00:00:12 verbose #446 > >
00:00:12 verbose #447 > > module SpiralCrypto =
00:00:12 verbose #448 > > let hash_text x =
00:00:12 verbose #449 > > #if !INTERACTIVE
00:00:12 verbose #450 > > Crypto.hash_text x
00:00:12 verbose #451 > > #else
00:00:12 verbose #452 > > hash_text x
00:00:12 verbose #453 > > #endif
00:00:12 verbose #454 > >
00:00:12 verbose #455 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:00:12 verbose #456 > >
00:00:12 verbose #457 > > module SpiralAsync =
00:00:12 verbose #458 > > let merge_cancellation_token_with_default_async x =
00:00:12 verbose #459 > > #if !INTERACTIVE
00:00:12 verbose #460 > > Async_.merge_cancellation_token_with_default_async x
00:00:12 verbose #461 > > #else
00:00:12 verbose #462 > > merge_cancellation_token_with_default_async x
00:00:12 verbose #463 > > #endif
00:00:12 verbose #464 > >
00:00:12 verbose #465 > > module SpiralThreading =
00:00:12 verbose #466 > > let new_disposable_token x =
00:00:12 verbose #467 > > #if !INTERACTIVE
00:00:12 verbose #468 > > Threading.new_disposable_token x
00:00:12 verbose #469 > > #else
00:00:12 verbose #470 > > new_disposable_token x
00:00:12 verbose #471 > > #endif
00:00:12 verbose #472 > >
00:00:12 verbose #473 > > module SpiralNetworking =
00:00:12 verbose #474 > > let test_port_open x =
00:00:12 verbose #475 > > #if !INTERACTIVE
00:00:12 verbose #476 > > Networking.test_port_open x
00:00:12 verbose #477 > > #else
00:00:12 verbose #478 > > test_port_open x
00:00:12 verbose #479 > > #endif
00:00:12 verbose #480 > >
00:00:12 verbose #481 > > let test_port_open_timeout x =
00:00:12 verbose #482 > > #if !INTERACTIVE
00:00:12 verbose #483 > > Networking.test_port_open_timeout x
00:00:12 verbose #484 > > #else
00:00:12 verbose #485 > > test_port_open_timeout x
00:00:12 verbose #486 > > #endif
00:00:12 verbose #487 > >
00:00:12 verbose #488 > > let wait_for_port_access x =
00:00:12 verbose #489 > > #if !INTERACTIVE
00:00:12 verbose #490 > > Networking.wait_for_port_access x
00:00:12 verbose #491 > > #else
00:00:12 verbose #492 > > wait_for_port_access x
00:00:12 verbose #493 > > #endif
00:00:12 verbose #494 > >
00:00:12 verbose #495 > > let get_available_port x =
00:00:12 verbose #496 > > #if !INTERACTIVE
00:00:12 verbose #497 > > Networking.get_available_port x
00:00:12 verbose #498 > > #else
00:00:12 verbose #499 > > get_available_port x
00:00:12 verbose #500 > > #endif
00:00:12 verbose #501 > >
00:00:12 verbose #502 > > module SpiralRuntime =
00:00:12 verbose #503 > > let get_executable_suffix () =
00:00:12 verbose #504 > > #if !INTERACTIVE
00:00:12 verbose #505 > > Runtime.get_executable_suffix ()
00:00:12 verbose #506 > > #else
00:00:12 verbose #507 > > get_executable_suffix ()
00:00:12 verbose #508 > > #endif
00:00:12 verbose #509 > >
00:00:12 verbose #510 > > let is_windows () =
00:00:12 verbose #511 > > #if !INTERACTIVE
00:00:12 verbose #512 > > ...
00:00:12 verbose #513 > >
00:00:12 verbose #514 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #515 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:00:12 verbose #516 > >
00:00:12 verbose #517 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #518 > > //// test
00:00:12 verbose #519 > >
00:00:12 verbose #520 > > type AssertExceptionFormatter (ex) =
00:00:12 verbose #521 > > member _.Text =
00:00:12 verbose #522 > > ex.ToString()
00:00:12 verbose #523 > > .Replace("32m", "<span style=\"color: green;\">")
00:00:12 verbose #524 > > .Replace("36m", "</span>")
00:00:12 verbose #525 > > .Replace("31m", "<span style=\"color: red;\">")
00:00:12 verbose #526 > > .Replace("\n", "<br/>\n")
00:00:12 verbose #527 > >
00:00:12 verbose #528 > >
00:00:12 verbose #529 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:00:12 verbose #530 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:00:12 verbose #531 > >
00:00:12 verbose #532 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #533 > > //// test
00:00:12 verbose #534 > >
00:00:12 verbose #535 > > let inline __expect fn log expected actual =
00:00:12 verbose #536 > > if log then printfn $"{actual.ToDisplayString ()}"
00:00:12 verbose #537 > > try
00:00:12 verbose #538 > > "Testing.__expect" |> fn actual expected
00:00:12 verbose #539 > > with :? Expecto.AssertException as ex ->
00:00:12 verbose #540 > > AssertExceptionFormatter(ex).Display () |> ignore
00:00:12 verbose #541 > > failwith (ex.GetType().FullName)
00:00:12 verbose #542 > >
00:00:12 verbose #543 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:00:12 verbose #544 > > expected actual
00:00:12 verbose #545 > > let inline _contains expected actual = __contains true expected actual
00:00:12 verbose #546 > >
00:00:12 verbose #547 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:00:12 verbose #548 > > expected actual
00:00:12 verbose #549 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:00:12 verbose #550 > >
00:00:12 verbose #551 > > let inline __isGreaterThan log expected actual = __expect
00:00:12 verbose #552 > > Expecto.Expect.isGreaterThan log expected actual
00:00:12 verbose #553 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:00:12 verbose #554 > >
00:00:12 verbose #555 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:00:12 verbose #556 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:00:12 verbose #557 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:00:12 verbose #558 > > expected actual
00:00:12 verbose #559 > >
00:00:12 verbose #560 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:00:12 verbose #561 > > log expected actual
00:00:12 verbose #562 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:00:12 verbose #563 > >
00:00:12 verbose #564 > > let inline __isLessThanOrEqual log expected actual = __expect
00:00:12 verbose #565 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:00:12 verbose #566 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:00:12 verbose #567 > > expected actual
00:00:12 verbose #568 > >
00:00:12 verbose #569 > > let inline __sequenceEqual log expected actual = __expe...
00:00:12 verbose #570 > >
00:00:12 verbose #571 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #572 > > //// test
00:00:12 verbose #573 > >
00:00:12 verbose #574 > > let inline __isBetween log a b actual =
00:00:12 verbose #575 > > let inline isBetween actual (a, b) _ =
00:00:12 verbose #576 > > __isGreaterThanOrEqual log a actual
00:00:12 verbose #577 > > __isLessThanOrEqual log b actual
00:00:12 verbose #578 > > __expect isBetween log (a, b) actual
00:00:12 verbose #579 > > let inline _isBetween a b actual = __isBetween true a b actual
00:00:12 verbose #580 > >
00:00:12 verbose #581 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #582 > > #!import ../../lib/fsharp/Common.fs
00:00:12 verbose #583 > >
00:00:12 verbose #584 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #585 > > #if !INTERACTIVE
00:00:12 verbose #586 > > namespace Polyglot
00:00:12 verbose #587 > > #endif
00:00:12 verbose #588 > >
00:00:12 verbose #589 > > module Common =
00:00:12 verbose #590 > >
00:00:12 verbose #591 > > #if !INTERACTIVE
00:00:12 verbose #592 > > open Lib
00:00:12 verbose #593 > > #endif
00:00:12 verbose #594 > >
00:00:12 verbose #595 > > let nl = System.Environment.NewLine
00:00:12 verbose #596 > > let q = @""""
00:00:12 verbose #597 > >
00:00:12 verbose #598 > > let inline cons head tail = head :: tail
00:00:12 verbose #599 > >
00:00:12 verbose #600 > > /// ## memoize
00:00:12 verbose #601 > > let inline memoize fn =
00:00:12 verbose #602 > > let result = lazy fn ()
00:00:12 verbose #603 > > fun () -> result.Value
00:00:12 verbose #604 > >
00:00:12 verbose #605 > > /// ## TraceLevel
00:00:12 verbose #606 > > type TraceLevel =
00:00:12 verbose #607 > > | Verbose
00:00:12 verbose #608 > > | Debug
00:00:12 verbose #609 > > | Info
00:00:12 verbose #610 > > | Warning
00:00:12 verbose #611 > > | Critical
00:00:12 verbose #612 > >
00:00:12 verbose #613 > > let inline _locals () = ""
00:00:12 verbose #614 > >
00:00:12 verbose #615 > > /// ## trace
00:00:12 verbose #616 > > let to_trace_level = function
00:00:12 verbose #617 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:00:12 verbose #618 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:00:12 verbose #619 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:00:12 verbose #620 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:00:12 verbose #621 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:00:12 verbose #622 > >
00:00:12 verbose #623 > > let trace level fn locals =
00:00:12 verbose #624 > > let level = level |> to_trace_level
00:00:12 verbose #625 > > SpiralTrace.trace level fn locals
00:00:12 verbose #626 > >
00:00:12 verbose #627 > >
00:00:12 verbose #628 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #629 > > #if !INTERACTIVE
00:00:12 verbose #630 > > open Lib
00:00:12 verbose #631 > > #endif
00:00:12 verbose #632 > >
00:00:12 verbose #633 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #634 > > open Common
00:00:12 verbose #635 > >
00:00:12 verbose #636 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #637 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #638 > > │ ## choice │
00:00:12 verbose #639 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #640 > >
00:00:12 verbose #641 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #642 > > let inline choice asyncs = async {
00:00:12 verbose #643 > > let e = Event<_> ()
00:00:12 verbose #644 > > use cts = new System.Threading.CancellationTokenSource ()
00:00:12 verbose #645 > > let fn =
00:00:12 verbose #646 > > asyncs
00:00:12 verbose #647 > > |> Seq.map (fun a -> async {
00:00:12 verbose #648 > > let! x = a
00:00:12 verbose #649 > > e.Trigger x
00:00:12 verbose #650 > > })
00:00:12 verbose #651 > > |> Async.Parallel
00:00:12 verbose #652 > > |> Async.Ignore
00:00:12 verbose #653 > > Async.Start (fn, cts.Token)
00:00:12 verbose #654 > > let! result = Async.AwaitEvent e.Publish
00:00:12 verbose #655 > > cts.Cancel ()
00:00:12 verbose #656 > > return result
00:00:12 verbose #657 > > }
00:00:12 verbose #658 > >
00:00:12 verbose #659 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #660 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #661 > > │ ## map │
00:00:12 verbose #662 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #663 > >
00:00:12 verbose #664 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #665 > > let inline map fn a = async {
00:00:12 verbose #666 > > let! x = a
00:00:12 verbose #667 > > return fn x
00:00:12 verbose #668 > > }
00:00:12 verbose #669 > >
00:00:12 verbose #670 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #671 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #672 > > │ ## catch │
00:00:12 verbose #673 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #674 > >
00:00:12 verbose #675 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #676 > > let inline catch a =
00:00:12 verbose #677 > > a
00:00:12 verbose #678 > > |> Async.Catch
00:00:12 verbose #679 > > |> map (function
00:00:12 verbose #680 > > | Choice1Of2 result -> Ok result
00:00:12 verbose #681 > > | Choice2Of2 ex -> Error ex
00:00:12 verbose #682 > > )
00:00:12 verbose #683 > >
00:00:12 verbose #684 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #685 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #686 > > │ ## runWithTimeoutChoiceAsync │
00:00:12 verbose #687 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #688 > >
00:00:12 verbose #689 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #690 > > let inline runWithTimeoutChoiceAsync (timeout : int) fn =
00:00:12 verbose #691 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:00:12 verbose #692 > >
00:00:12 verbose #693 > > let timeoutTask = async {
00:00:12 verbose #694 > > do! Async.Sleep timeout
00:00:12 verbose #695 > > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals
00:00:12 verbose #696 > > return None
00:00:12 verbose #697 > > }
00:00:12 verbose #698 > >
00:00:12 verbose #699 > > let task = async {
00:00:12 verbose #700 > > try
00:00:12 verbose #701 > > let! result = fn
00:00:12 verbose #702 > > return Some result
00:00:12 verbose #703 > > with
00:00:12 verbose #704 > > | :? System.AggregateException as ex when
00:00:12 verbose #705 > > ex.InnerExceptions
00:00:12 verbose #706 > > |> Seq.exists (function :?
00:00:12 verbose #707 > > System.Threading.Tasks.TaskCanceledException -> true | _ -> false)
00:00:12 verbose #708 > > ->
00:00:12 verbose #709 > > trace Warning
00:00:12 verbose #710 > > (fun () -> "runWithTimeoutChoiceAsync")
00:00:12 verbose #711 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals
00:00:12 verbose #712 > > ()}")
00:00:12 verbose #713 > > return None
00:00:12 verbose #714 > > | ex ->
00:00:12 verbose #715 > > trace Critical
00:00:12 verbose #716 > > (fun () -> "runWithTimeoutChoiceAsync")
00:00:12 verbose #717 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals
00:00:12 verbose #718 > > ()}")
00:00:12 verbose #719 > > return None
00:00:12 verbose #720 > > }
00:00:12 verbose #721 > >
00:00:12 verbose #722 > > [[ timeoutTask; task ]]
00:00:12 verbose #723 > > |> choice
00:00:13 verbose #724 > >
00:00:13 verbose #725 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #726 > > let inline runWithTimeoutChoice timeout fn =
00:00:13 verbose #727 > > fn
00:00:13 verbose #728 > > |> runWithTimeoutChoiceAsync timeout
00:00:13 verbose #729 > > |> Async.RunSynchronously
00:00:13 verbose #730 > >
00:00:13 verbose #731 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #732 > > //// test
00:00:13 verbose #733 > >
00:00:13 verbose #734 > > Async.Sleep 120
00:00:13 verbose #735 > > |> runWithTimeoutChoice 10
00:00:13 verbose #736 > > |> _assertEqual None
00:00:13 verbose #737 > >
00:00:13 verbose #738 > > ╭─[ 116.80ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 verbose #739 > > │ 00:00:00 debug #1 runWithTimeoutChoiceAsync / timeout: 10 │
00:00:13 verbose #740 > > │ <null> │
00:00:13 verbose #741 > > │ │
00:00:13 verbose #742 > > │ │
00:00:13 verbose #743 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #744 > >
00:00:13 verbose #745 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #746 > > //// test
00:00:13 verbose #747 > >
00:00:13 verbose #748 > > Async.Sleep 10
00:00:13 verbose #749 > > |> runWithTimeoutChoice 60
00:00:13 verbose #750 > > |> _assertEqual (Some ())
00:00:13 verbose #751 > >
00:00:13 verbose #752 > > ╭─[ 141.59ms - stdout ]────────────────────────────────────────────────────────╮
00:00:13 verbose #753 > > │ Some () │
00:00:13 verbose #754 > > │ │
00:00:13 verbose #755 > > │ │
00:00:13 verbose #756 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #757 > >
00:00:13 verbose #758 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #759 > > //// test
00:00:13 verbose #760 > >
00:00:13 verbose #761 > > async {
00:00:13 verbose #762 > > raise (exn "error")
00:00:13 verbose #763 > > }
00:00:13 verbose #764 > > |> runWithTimeoutChoice 60
00:00:13 verbose #765 > > |> _assertEqual None
00:00:13 verbose #766 > >
00:00:13 verbose #767 > > ╭─[ 86.11ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 verbose #768 > > │ 00:00:00 critical #2 runWithTimeoutChoiceAsync / ex: System.Exception: error │
00:00:13 verbose #769 > > │ / timeout: 60 │
00:00:13 verbose #770 > > │ <null> │
00:00:13 verbose #771 > > │ │
00:00:13 verbose #772 > > │ │
00:00:13 verbose #773 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #774 > >
00:00:13 verbose #775 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #776 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #777 > > │ ## runWithTimeoutAsync │
00:00:13 verbose #778 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #779 > >
00:00:13 verbose #780 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #781 > > let inline runWithTimeoutAsync (timeout : int) fn = async {
00:00:13 verbose #782 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:00:13 verbose #783 > > let! child = Async.StartChild (fn, timeout)
00:00:13 verbose #784 > > return!
00:00:13 verbose #785 > > child
00:00:13 verbose #786 > > |> catch
00:00:13 verbose #787 > > |> map (function
00:00:13 verbose #788 > > | Ok result -> Some result
00:00:13 verbose #789 > > | Error (:? System.TimeoutException as ex) ->
00:00:13 verbose #790 > > trace Debug (fun () -> $"runWithTimeoutAsync") _locals
00:00:13 verbose #791 > > None
00:00:13 verbose #792 > > | Error ex ->
00:00:13 verbose #793 > > trace Critical (fun () -> $"runWithTimeoutAsync** / ex: %A{ex}")
00:00:13 verbose #794 > > _locals
00:00:13 verbose #795 > > None
00:00:13 verbose #796 > > )
00:00:13 verbose #797 > > }
00:00:13 verbose #798 > >
00:00:13 verbose #799 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #800 > > let inline runWithTimeout timeout fn =
00:00:13 verbose #801 > > fn
00:00:13 verbose #802 > > |> runWithTimeoutAsync timeout
00:00:13 verbose #803 > > |> Async.RunSynchronously
00:00:13 verbose #804 > >
00:00:13 verbose #805 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #806 > > //// test
00:00:13 verbose #807 > >
00:00:13 verbose #808 > > Async.Sleep 60
00:00:13 verbose #809 > > |> runWithTimeout 10
00:00:13 verbose #810 > > |> _assertEqual None
00:00:13 verbose #811 > >
00:00:13 verbose #812 > > ╭─[ 70.43ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 verbose #813 > > │ 00:00:01 debug #3 runWithTimeoutAsync / timeout: 10 │
00:00:13 verbose #814 > > │ <null> │
00:00:13 verbose #815 > > │ │
00:00:13 verbose #816 > > │ │
00:00:13 verbose #817 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #818 > >
00:00:13 verbose #819 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #820 > > //// test
00:00:13 verbose #821 > >
00:00:13 verbose #822 > > Async.Sleep 10
00:00:13 verbose #823 > > |> runWithTimeout 60
00:00:13 verbose #824 > > |> _assertEqual (Some ())
00:00:13 verbose #825 > >
00:00:13 verbose #826 > > ╭─[ 60.25ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 verbose #827 > > │ Some () │
00:00:13 verbose #828 > > │ │
00:00:13 verbose #829 > > │ │
00:00:13 verbose #830 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #831 > >
00:00:13 verbose #832 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #833 > > //// test
00:00:13 verbose #834 > >
00:00:13 verbose #835 > > async {
00:00:13 verbose #836 > > raise (exn "error")
00:00:13 verbose #837 > > }
00:00:13 verbose #838 > > |> runWithTimeout 60
00:00:13 verbose #839 > > |> _assertEqual None
00:00:13 verbose #840 > >
00:00:13 verbose #841 > > ╭─[ 68.49ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 verbose #842 > > │ 00:00:01 critical #4 runWithTimeoutAsync** / ex: System.Exception: error │
00:00:13 verbose #843 > > │ at FSI_0035.it@4-119.Invoke(Unit unitVar) │
00:00:13 verbose #844 > > │ at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[ │
00:00:13 verbose #845 > > │ T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in │
00:00:13 verbose #846 > > │ D:\a\_work\1\s\src\FSharp.Core\async.fs:line 510 │
00:00:13 verbose #847 > > │ at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) │
00:00:13 verbose #848 > > │ in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 112 │
00:00:13 verbose #849 > > │ --- End of stack trace from previous location --- │
00:00:13 verbose #850 > > │ at Microsoft.FSharp.Control.AsyncResult`1.Commit() in │
00:00:13 verbose #851 > > │ D:\a\_work\1\s\src\FSharp.Core\async.fs:line 454 │
00:00:13 verbose #852 > > │ at │
00:00:13 verbose #853 > > │ <StartupCode$FSharp-Core>.$Async.AwaitAndBindChildResult@1962-4.Invoke(Unit │
00:00:13 verbose #854 > > │ unitVar) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 1964 │
00:00:13 verbose #855 > > │ at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[ │
00:00:13 verbose #856 > > │ T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in │
00:00:13 verbose #857 > > │ D:\a\_work\1\s\src\FSharp.Core\async.fs:line 510 │
00:00:13 verbose #858 > > │ at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) │
00:00:13 verbose #859 > > │ in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 112 / timeout: 60 │
00:00:13 verbose #860 > > │ <null> │
00:00:13 verbose #861 > > │ │
00:00:13 verbose #862 > > │ │
00:00:13 verbose #863 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #864 > >
00:00:13 verbose #865 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #866 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #867 > > │ ## runWithTimeoutStrict │
00:00:13 verbose #868 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #869 > >
00:00:13 verbose #870 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #871 > > let inline runWithTimeoutStrict (timeout : int) fn =
00:00:13 verbose #872 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:00:13 verbose #873 > >
00:00:13 verbose #874 > > let timeoutTask = async {
00:00:13 verbose #875 > > do! Async.Sleep timeout
00:00:13 verbose #876 > > return None, _locals
00:00:13 verbose #877 > > }
00:00:13 verbose #878 > >
00:00:13 verbose #879 > > let task = async {
00:00:13 verbose #880 > > try
00:00:13 verbose #881 > > return Async.RunSynchronously (fn, timeout) |> Some, _locals
00:00:13 verbose #882 > > with
00:00:13 verbose #883 > > | :? System.TimeoutException as ex ->
00:00:13 verbose #884 > > let _locals () = $"ex: {ex |> SpiralSm.format_exception} / {_locals
00:00:13 verbose #885 > > ()}"
00:00:13 verbose #886 > > return None, _locals
00:00:13 verbose #887 > > | ex ->
00:00:13 verbose #888 > > trace Critical
00:00:13 verbose #889 > > (fun () -> "runWithTimeoutStrict / async error")
00:00:13 verbose #890 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals
00:00:13 verbose #891 > > ()}")
00:00:13 verbose #892 > > return raise ex
00:00:13 verbose #893 > > }
00:00:13 verbose #894 > >
00:00:13 verbose #895 > > try
00:00:13 verbose #896 > > [[| timeoutTask; task |]]
00:00:13 verbose #897 > > |> Array.map Async.StartAsTask
00:00:13 verbose #898 > > |> System.Threading.Tasks.Task.WhenAny
00:00:13 verbose #899 > > |> fun task ->
00:00:13 verbose #900 > > match task.Result.Result with
00:00:13 verbose #901 > > | None, _locals ->
00:00:13 verbose #902 > > trace Debug (fun () -> "runWithTimeoutStrict") _locals
00:00:13 verbose #903 > > None
00:00:13 verbose #904 > > | result, _ -> result
00:00:13 verbose #905 > > with
00:00:13 verbose #906 > > | :? System.AggregateException as ex when
00:00:13 verbose #907 > > ex.InnerExceptions
00:00:13 verbose #908 > > |> Seq.exists (function :? System.Threading.Tasks.TaskCanceledException
00:00:13 verbose #909 > > -> true | _ -> false)
00:00:13 verbose #910 > > ->
00:00:13 verbose #911 > > trace Warning
00:00:13 verbose #912 > > (fun () -> "runWithTimeoutStrict")
00:00:13 verbose #913 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals ()}")
00:00:13 verbose #914 > > None
00:00:13 verbose #915 > > | ex ->
00:00:13 verbose #916 > > trace Critical
00:00:13 verbose #917 > > (fun () -> "runWithTimeoutStrict / task error")
00:00:13 verbose #918 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals ()}")
00:00:13 verbose #919 > > None
00:00:13 verbose #920 > >
00:00:13 verbose #921 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #922 > > //// test
00:00:13 verbose #923 > >
00:00:13 verbose #924 > > Async.Sleep 60
00:00:13 verbose #925 > > |> runWithTimeoutStrict 10
00:00:13 verbose #926 > > |> _assertEqual None
00:00:13 verbose #927 > >
00:00:13 verbose #928 > > ╭─[ 80.22ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 verbose #929 > > │ 00:00:01 debug #5 runWithTimeoutStrict / ex: System.TimeoutException: The │
00:00:13 verbose #930 > > │ operation has timed out. / timeout: 10 │
00:00:13 verbose #931 > > │ <null> │
00:00:13 verbose #932 > > │ │
00:00:13 verbose #933 > > │ │
00:00:13 verbose #934 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #935 > >
00:00:13 verbose #936 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #937 > > //// test
00:00:13 verbose #938 > >
00:00:13 verbose #939 > > Async.Sleep 10
00:00:13 verbose #940 > > |> runWithTimeoutStrict 60
00:00:13 verbose #941 > > |> _assertEqual (Some ())
00:00:13 verbose #942 > >
00:00:13 verbose #943 > > ╭─[ 80.44ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:13 verbose #944 > > │ Some () │
00:00:13 verbose #945 > > │ │
00:00:13 verbose #946 > > │ │
00:00:13 verbose #947 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #948 > >
00:00:13 verbose #949 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #950 > > //// test
00:00:13 verbose #951 > >
00:00:13 verbose #952 > > async {
00:00:13 verbose #953 > > raise (exn "error")
00:00:13 verbose #954 > > }
00:00:13 verbose #955 > > |> runWithTimeoutStrict 60
00:00:13 verbose #956 > > |> _assertEqual None
00:00:14 verbose #957 > >
00:00:14 verbose #958 > > ╭─[ 107.37ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 verbose #959 > > │ 00:00:01 critical #6 runWithTimeoutStrict / async error / ex: │
00:00:14 verbose #960 > > │ System.Exception: error / timeout: 60 │
00:00:14 verbose #961 > > │ 00:00:01 critical #7 runWithTimeoutStrict / task error / ex: │
00:00:14 verbose #962 > > │ System.AggregateException: One or more errors occurred. (error) / timeout: │
00:00:14 verbose #963 > > │ 60 │
00:00:14 verbose #964 > > │ <null> │
00:00:14 verbose #965 > > │ │
00:00:14 verbose #966 > > │ │
00:00:14 verbose #967 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #968 > >
00:00:14 verbose #969 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #970 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #971 > > │ ## awaitValueTask │
00:00:14 verbose #972 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #973 > >
00:00:14 verbose #974 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #975 > > let inline awaitValueTaskUnit (task : System.Threading.Tasks.ValueTask) =
00:00:14 verbose #976 > > task.AsTask () |> Async.AwaitTask
00:00:14 verbose #977 > >
00:00:14 verbose #978 > > let inline awaitValueTask (task : System.Threading.Tasks.ValueTask<_>) =
00:00:14 verbose #979 > > task.AsTask () |> Async.AwaitTask
00:00:14 verbose #980 > >
00:00:14 verbose #981 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #982 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #983 > > │ ## init │
00:00:14 verbose #984 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #985 > >
00:00:14 verbose #986 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #987 > > let inline init x = async {
00:00:14 verbose #988 > > return x
00:00:14 verbose #989 > > }
00:00:14 verbose #990 > >
00:00:14 verbose #991 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #992 > > //// test
00:00:14 verbose #993 > >
00:00:14 verbose #994 > > init 1
00:00:14 verbose #995 > > |> Async.RunSynchronously
00:00:14 verbose #996 > > |> _assertEqual 1
00:00:14 verbose #997 > >
00:00:14 verbose #998 > > ╭─[ 18.81ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:14 verbose #999 > > │ 1 │
00:00:14 verbose #1000 > > │ │
00:00:14 verbose #1001 > > │ │
00:00:14 verbose #1002 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1003 > >
00:00:14 verbose #1004 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #1005 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #1006 > > │ ## withCancellationToken │
00:00:14 verbose #1007 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1008 > >
00:00:14 verbose #1009 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1010 > > let inline withCancellationToken (ct : System.Threading.CancellationToken) fn =
00:00:14 verbose #1011 > > Async.StartImmediateAsTask (fn, ct)
00:00:14 verbose #1012 > > |> Async.AwaitTask
00:00:14 verbose #1013 > >
00:00:14 verbose #1014 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1015 > > //// test
00:00:14 verbose #1016 > >
00:00:14 verbose #1017 > > let cts = new System.Threading.CancellationTokenSource ()
00:00:14 verbose #1018 > >
00:00:14 verbose #1019 > > async {
00:00:14 verbose #1020 > > let run = async {
00:00:14 verbose #1021 > > do! Async.Sleep 100
00:00:14 verbose #1022 > > return 1
00:00:14 verbose #1023 > > }
00:00:14 verbose #1024 > >
00:00:14 verbose #1025 > > let! child =
00:00:14 verbose #1026 > > run
00:00:14 verbose #1027 > > |> withCancellationToken cts.Token
00:00:14 verbose #1028 > > |> catch
00:00:14 verbose #1029 > > |> Async.StartChild
00:00:14 verbose #1030 > >
00:00:14 verbose #1031 > > do! Async.Sleep 50
00:00:14 verbose #1032 > > cts.Cancel ()
00:00:14 verbose #1033 > > return! child
00:00:14 verbose #1034 > > }
00:00:14 verbose #1035 > > |> Async.RunSynchronously
00:00:14 verbose #1036 > > |> Result.mapError _.Message
00:00:14 verbose #1037 > > |> _assertEqual (Error ("A task was canceled."))
00:00:14 verbose #1038 > >
00:00:14 verbose #1039 > > ╭─[ 145.38ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 verbose #1040 > > │ Error "A task was canceled." │
00:00:14 verbose #1041 > > │ │
00:00:14 verbose #1042 > > │ │
00:00:14 verbose #1043 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1044 > >
00:00:14 verbose #1045 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #1046 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #1047 > > │ ## retryAsync │
00:00:14 verbose #1048 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1049 > >
00:00:14 verbose #1050 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1051 > > let inline retryAsync retries fn =
00:00:14 verbose #1052 > > let rec loop retry lastError = async {
00:00:14 verbose #1053 > > try
00:00:14 verbose #1054 > > return!
00:00:14 verbose #1055 > > if retry <= retries
00:00:14 verbose #1056 > > then fn |> map Ok
00:00:14 verbose #1057 > > else lastError |> Error |> init
00:00:14 verbose #1058 > > with ex ->
00:00:14 verbose #1059 > > trace Debug (fun () -> $"Async.retryAsync / retry: {retry}/{retries}
00:00:14 verbose #1060 > > / ex: {ex |> SpiralSm.format_exception}") _locals
00:00:14 verbose #1061 > > do! Async.Sleep 1
00:00:14 verbose #1062 > > return! loop (retry + 1) (ex |> SpiralSm.format_exception)
00:00:14 verbose #1063 > > }
00:00:14 verbose #1064 > > loop 1 "Async.retryAsync / invalid retries / retries: {retries}"
00:00:14 verbose #1065 > >
00:00:14 verbose #1066 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1067 > > //// test
00:00:14 verbose #1068 > >
00:00:14 verbose #1069 > > let retry_fn_test = ref 0
00:00:14 verbose #1070 > > async {
00:00:14 verbose #1071 > > retry_fn_test.Value <- retry_fn_test.Value + 1
00:00:14 verbose #1072 > > return retry_fn_test.Value
00:00:14 verbose #1073 > > }
00:00:14 verbose #1074 > > |> retryAsync 3
00:00:14 verbose #1075 > > |> Async.RunSynchronously
00:00:14 verbose #1076 > > |> _assertEqual (Ok 1)
00:00:14 verbose #1077 > >
00:00:14 verbose #1078 > > ╭─[ 64.48ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:14 verbose #1079 > > │ Ok 1 │
00:00:14 verbose #1080 > > │ │
00:00:14 verbose #1081 > > │ │
00:00:14 verbose #1082 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1083 > >
00:00:14 verbose #1084 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1085 > > //// test
00:00:14 verbose #1086 > >
00:00:14 verbose #1087 > > let retry_fn_test = ref 0
00:00:14 verbose #1088 > > async {
00:00:14 verbose #1089 > > return
00:00:14 verbose #1090 > > if retry_fn_test.Value >= 2
00:00:14 verbose #1091 > > then retry_fn_test.Value
00:00:14 verbose #1092 > > else
00:00:14 verbose #1093 > > retry_fn_test.Value <- retry_fn_test.Value + 1
00:00:14 verbose #1094 > > failwith "test"
00:00:14 verbose #1095 > > }
00:00:14 verbose #1096 > > |> retryAsync 3
00:00:14 verbose #1097 > > |> Async.RunSynchronously
00:00:14 verbose #1098 > > |> _assertEqual (Ok 2)
00:00:14 verbose #1099 > >
00:00:14 verbose #1100 > > ╭─[ 71.99ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:14 verbose #1101 > > │ 00:00:02 debug #8 Async.retryAsync / retry: 1/3 / ex: System.Exception: │
00:00:14 verbose #1102 > > │ test │
00:00:14 verbose #1103 > > │ 00:00:02 debug #9 Async.retryAsync / retry: 2/3 / ex: System.Exception: │
00:00:14 verbose #1104 > > │ test │
00:00:14 verbose #1105 > > │ Ok 2 │
00:00:14 verbose #1106 > > │ │
00:00:14 verbose #1107 > > │ │
00:00:14 verbose #1108 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1109 > 00:00:13 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 42507
00:00:14 verbose #1110 > 00:00:13 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:00:15 verbose #1111 > 00:00:13 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb to html
00:00:15 verbose #1112 > 00:00:13 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:15 verbose #1113 > 00:00:13 verbose #7 ! validate(nb)
00:00:15 verbose #1114 > 00:00:14 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:15 verbose #1115 > 00:00:14 verbose #9 ! return _pygments_highlight(
00:00:15 verbose #1116 > 00:00:14 verbose #10 ! [NbConvertApp] Writing 330001 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.html
00:00:15 verbose #1117 > 00:00:14 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 894
00:00:15 verbose #1118 > 00:00:14 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 894
00:00:15 verbose #1119 > 00:00:14 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:00:16 verbose #1120 > 00:00:14 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:00:16 verbose #1121 > 00:00:14 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:00:16 verbose #1122 > 00:00:14 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 43460
00:00:16 debug #1123 execute_with_options_async / exit_code: 0 / output.Length: 48044
00:00:16 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Async.dib --retries 3
00:00:16 debug #1124 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path AsyncSeq.dib --retries 3",
[||], None, None, true, None)
00:00:16 verbose #1125 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "AsyncSeq.dib", "--retries", "3"])
00:00:16 verbose #1126 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:17 verbose #1127 > >
00:00:17 verbose #1128 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #1129 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #1130 > > │ # AsyncSeq (Polyglot) │
00:00:17 verbose #1131 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #1132 > >
00:00:17 verbose #1133 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #1134 > > #!import ../../lib/fsharp/Notebooks.dib
00:00:17 verbose #1135 > > #!import ../../lib/fsharp/Testing.dib
00:00:17 verbose #1136 > >
00:00:17 verbose #1137 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:17 verbose #1138 > > #r
00:00:17 verbose #1139 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:00:17 verbose #1140 > > NetCore.Html.Abstractions.dll"
00:00:17 verbose #1141 > > #r
00:00:17 verbose #1142 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:17 verbose #1143 > > Net.Interactive.dll"
00:00:17 verbose #1144 > > #r
00:00:17 verbose #1145 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:17 verbose #1146 > > Net.Interactive.FSharp.dll"
00:00:17 verbose #1147 > > #r
00:00:17 verbose #1148 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:17 verbose #1149 > > Net.Interactive.Formatting.dll"
00:00:17 verbose #1150 > > open System
00:00:17 verbose #1151 > > open System.IO
00:00:17 verbose #1152 > > open System.Text
00:00:17 verbose #1153 > > open Microsoft.DotNet.Interactive.Formatting
00:00:19 verbose #1154 > >
00:00:19 verbose #1155 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:19 verbose #1156 > > #r
00:00:19 verbose #1157 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:19 verbose #1158 > > Net.Interactive.FSharp.dll"
00:00:19 verbose #1159 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:19 verbose #1160 > > #r
00:00:19 verbose #1161 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:19 verbose #1162 > > Net.Interactive.dll"
00:00:19 verbose #1163 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:19 verbose #1164 > >
00:00:19 verbose #1165 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:19 verbose #1166 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:00:20 verbose #1167 > >
00:00:20 verbose #1168 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:20 verbose #1169 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:00:20 verbose #1170 > > TextWriter)->fprintfn writer "%120A" x)
00:00:20 verbose #1171 > >
00:00:20 verbose #1172 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:20 verbose #1173 > > //// test
00:00:20 verbose #1174 > >
00:00:20 verbose #1175 > > Formatter.ListExpansionLimit <- 100
00:00:20 verbose #1176 > >
00:00:20 verbose #1177 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:20 verbose #1178 > > #if FABLE_COMPILER
00:00:20 verbose #1179 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:20 verbose #1180 > > #endif
00:00:20 verbose #1181 > > type std_env_VarError = class end
00:00:20 verbose #1182 > > #if FABLE_COMPILER
00:00:20 verbose #1183 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:20 verbose #1184 > > #endif
00:00:20 verbose #1185 > > type core_any_Any = class end
00:00:20 verbose #1186 > > #if FABLE_COMPILER
00:00:20 verbose #1187 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:20 verbose #1188 > > #endif
00:00:20 verbose #1189 > > type core_ops_Try<'T> = class end
00:00:20 verbose #1190 > > #if FABLE_COMPILER
00:00:20 verbose #1191 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:20 verbose #1192 > > #endif
00:00:20 verbose #1193 > > type Func0<'T> = class end
00:00:20 verbose #1194 > > #if FABLE_COMPILER
00:00:20 verbose #1195 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:20 verbose #1196 > > #endif
00:00:20 verbose #1197 > > type Func0<'T, 'U> = class end
00:00:20 verbose #1198 > > #if FABLE_COMPILER
00:00:20 verbose #1199 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:20 verbose #1200 > > #endif
00:00:20 verbose #1201 > > type Box<'T> = class end
00:00:20 verbose #1202 > > #if FABLE_COMPILER
00:00:20 verbose #1203 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:20 verbose #1204 > > #endif
00:00:20 verbose #1205 > > type Dyn<'T> = class end
00:00:20 verbose #1206 > > #if FABLE_COMPILER
00:00:20 verbose #1207 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:20 verbose #1208 > > #endif
00:00:20 verbose #1209 > > type Send<'T> = class end
00:00:20 verbose #1210 > > #if FABLE_COMPILER
00:00:20 verbose #1211 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:20 verbose #1212 > > #endif
00:00:20 verbose #1213 > > type Fn<'T> = class end
00:00:20 verbose #1214 > > #if FABLE_COMPILER
00:00:20 verbose #1215 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:20 verbose #1216 > > #endif
00:00:20 verbose #1217 > > type FnUnit = class end
00:00:20 verbose #1218 > > #if FABLE_COMPILER
00:00:20 verbose #1219 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:20 verbose #1220 > > #endif
00:00:20 verbose #1221 > > type FnOnce<'T> = class end
00:00:20 verbose #1222 > > #if FABLE_COMPILER
00:00:20 verbose #1223 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:20 verbose #1224 > > #endif
00:00:20 verbose #1225 > > type ActionFn<'T> = class end
00:00:20 verbose #1226 > > #if FABLE_COMPILER
00:00:20 verbose #1227 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:20 verbose #1228 > > #endif
00:00:20 verbose #1229 > > type ActionFn2<'T, 'U> = class end
00:00:20 verbose #1230 > > #if FABLE_COMPILER
00:00:20 verbose #1231 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:20 verbose #1232 > > #endif
00:00:20 verbose #1233 > > type Impl<'T> = class end
00:00:20 verbose #1234 > > #if FABLE_COMPILER
00:00:20 verbose #1235 > > [[<Fable...
00:00:21 verbose #1236 > >
00:00:21 verbose #1237 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:21 verbose #1238 > > #if FABLE_COMPILER
00:00:21 verbose #1239 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:21 verbose #1240 > > #endif
00:00:21 verbose #1241 > > type core_any_Any = class end
00:00:21 verbose #1242 > > #if FABLE_COMPILER
00:00:21 verbose #1243 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:21 verbose #1244 > > #endif
00:00:21 verbose #1245 > > type core_ops_Try<'T> = class end
00:00:21 verbose #1246 > > #if FABLE_COMPILER
00:00:21 verbose #1247 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:21 verbose #1248 > > #endif
00:00:21 verbose #1249 > > type Func0<'T> = class end
00:00:21 verbose #1250 > > #if FABLE_COMPILER
00:00:21 verbose #1251 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:21 verbose #1252 > > #endif
00:00:21 verbose #1253 > > type Func0<'T, 'U> = class end
00:00:21 verbose #1254 > > #if FABLE_COMPILER
00:00:21 verbose #1255 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:21 verbose #1256 > > #endif
00:00:21 verbose #1257 > > type Box<'T> = class end
00:00:21 verbose #1258 > > #if FABLE_COMPILER
00:00:21 verbose #1259 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:21 verbose #1260 > > #endif
00:00:21 verbose #1261 > > type Dyn<'T> = class end
00:00:21 verbose #1262 > > #if FABLE_COMPILER
00:00:21 verbose #1263 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:21 verbose #1264 > > #endif
00:00:21 verbose #1265 > > type Send<'T> = class end
00:00:21 verbose #1266 > > #if FABLE_COMPILER
00:00:21 verbose #1267 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:21 verbose #1268 > > #endif
00:00:21 verbose #1269 > > type Fn<'T> = class end
00:00:21 verbose #1270 > > #if FABLE_COMPILER
00:00:21 verbose #1271 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:21 verbose #1272 > > #endif
00:00:21 verbose #1273 > > type FnUnit = class end
00:00:21 verbose #1274 > > #if FABLE_COMPILER
00:00:21 verbose #1275 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:21 verbose #1276 > > #endif
00:00:21 verbose #1277 > > type FnOnce<'T> = class end
00:00:21 verbose #1278 > > #if FABLE_COMPILER
00:00:21 verbose #1279 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:21 verbose #1280 > > #endif
00:00:21 verbose #1281 > > type ActionFn<'T> = class end
00:00:21 verbose #1282 > > #if FABLE_COMPILER
00:00:21 verbose #1283 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:21 verbose #1284 > > #endif
00:00:21 verbose #1285 > > type ActionFn2<'T, 'U> = class end
00:00:21 verbose #1286 > > #if FABLE_COMPILER
00:00:21 verbose #1287 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:21 verbose #1288 > > #endif
00:00:21 verbose #1289 > > type Impl<'T> = class end
00:00:21 verbose #1290 > > #if FABLE_COMPILER
00:00:21 verbose #1291 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:00:21 verbose #1292 > > #endif
00:00:21 verbose #1293 > > type Mut<'T> = class end
00:00:21 verbose #1294 > > #if FABLE_COMPILER
00:00:21 verbose #1295 > > [[<Fable.Core.Erase; Fable.Co...
00:00:22 verbose #1296 > >
00:00:22 verbose #1297 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:22 verbose #1298 > > #if FABLE_COMPILER
00:00:22 verbose #1299 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:00:22 verbose #1300 > > #endif
00:00:22 verbose #1301 > > type async_std_task_JoinHandle<'T> = class end
00:00:22 verbose #1302 > > #if FABLE_COMPILER
00:00:22 verbose #1303 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:00:22 verbose #1304 > > #endif
00:00:22 verbose #1305 > > type std_future_Future<'T> = class end
00:00:22 verbose #1306 > > #if FABLE_COMPILER
00:00:22 verbose #1307 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:00:22 verbose #1308 > > #endif
00:00:22 verbose #1309 > > type rayon_vec_IntoIter<'T> = class end
00:00:22 verbose #1310 > > #if FABLE_COMPILER
00:00:22 verbose #1311 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:00:22 verbose #1312 > > #endif
00:00:22 verbose #1313 > > type rayon_iter_Map<'T> = class end
00:00:22 verbose #1314 > > #if FABLE_COMPILER
00:00:22 verbose #1315 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:00:22 verbose #1316 > > #endif
00:00:22 verbose #1317 > > type futures_lite_stream_StreamExt = class end
00:00:22 verbose #1318 > > #if FABLE_COMPILER
00:00:22 verbose #1319 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:00:22 verbose #1320 > > #endif
00:00:22 verbose #1321 > > type futures_future_TryJoinAll<'T> = class end
00:00:22 verbose #1322 > > #if FABLE_COMPILER
00:00:22 verbose #1323 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:00:22 verbose #1324 > > #endif
00:00:22 verbose #1325 > > type futures_future_Fuse<'T> = class end
00:00:22 verbose #1326 > > #if FABLE_COMPILER
00:00:22 verbose #1327 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:00:22 verbose #1328 > > #endif
00:00:22 verbose #1329 > > type futures_future_JoinAll<'T> = class end
00:00:22 verbose #1330 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:00:22 verbose #1331 > > Async<System.Threading.CancellationToken> =
00:00:22 verbose #1332 > > let v1 : bool = true
00:00:22 verbose #1333 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:00:22 verbose #1334 > >
00:00:22 verbose #1335 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:22 verbose #1336 > >
00:00:22 verbose #1337 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:00:22 verbose #1338 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:00:22 verbose #1339 > > unbox<Async<System...
00:00:22 verbose #1340 > >
00:00:22 verbose #1341 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:22 verbose #1342 > > #if FABLE_COMPILER
00:00:22 verbose #1343 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:00:22 verbose #1344 > > #endif
00:00:22 verbose #1345 > > type std_thread_JoinHandle<'T> = class end
00:00:22 verbose #1346 > > #if FABLE_COMPILER
00:00:22 verbose #1347 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:00:22 verbose #1348 > > #endif
00:00:22 verbose #1349 > > type std_sync_Arc<'T> = class end
00:00:22 verbose #1350 > > #if FABLE_COMPILER
00:00:22 verbose #1351 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:00:22 verbose #1352 > > #endif
00:00:22 verbose #1353 > > type std_sync_Mutex<'T> = class end
00:00:22 verbose #1354 > > #if FABLE_COMPILER
00:00:22 verbose #1355 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:00:22 verbose #1356 > > #endif
00:00:22 verbose #1357 > > type std_sync_MutexGuard<'T> = class end
00:00:22 verbose #1358 > > #if FABLE_COMPILER
00:00:22 verbose #1359 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:00:22 verbose #1360 > > #endif
00:00:22 verbose #1361 > > type std_sync_PoisonError<'T> = class end
00:00:22 verbose #1362 > > #if FABLE_COMPILER
00:00:22 verbose #1363 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:00:22 verbose #1364 > > #endif
00:00:22 verbose #1365 > > type std_sync_mpsc_Receiver<'T> = class end
00:00:22 verbose #1366 > > #if FABLE_COMPILER
00:00:22 verbose #1367 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:00:22 verbose #1368 > > #endif
00:00:22 verbose #1369 > > type std_sync_mpsc_SendError<'T> = class end
00:00:22 verbose #1370 > > #if FABLE_COMPILER
00:00:22 verbose #1371 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:00:22 verbose #1372 > > #endif
00:00:22 verbose #1373 > > type std_sync_mpsc_Sender<'T> = class end
00:00:22 verbose #1374 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:00:22 verbose #1375 > > _.Dispose () = f ()
00:00:22 verbose #1376 > > type [[<Struct>]] US0 =
00:00:22 verbose #1377 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:00:22 verbose #1378 > > | US0_1
00:00:22 verbose #1379 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:00:22 verbose #1380 > > let v1 : bool = true
00:00:22 verbose #1381 > > let mutable _v1 : unit option = None
00:00:22 verbose #1382 > >
00:00:22 verbose #1383 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:22 verbose #1384 > >
00:00:22 verbose #1385 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:00:22 verbose #1386 > >
00:00:22 verbose #1387 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:22 verbose #1388 > > #if FABLE_COMPILER
00:00:22 verbose #1389 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:00:22 verbose #1390 > > #endif
00:00:22 verbose #1391 > > type reqwest_Error = class end
00:00:22 verbose #1392 > > #if FABLE_COMPILER
00:00:22 verbose #1393 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:00:22 verbose #1394 > > #endif
00:00:22 verbose #1395 > > type reqwest_RequestBuilder = class end
00:00:22 verbose #1396 > > #if FABLE_COMPILER
00:00:22 verbose #1397 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:00:22 verbose #1398 > > #endif
00:00:22 verbose #1399 > > type reqwest_Response = class end
00:00:22 verbose #1400 > > #if FABLE_COMPILER
00:00:22 verbose #1401 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:22 verbose #1402 > > #endif
00:00:22 verbose #1403 > > type std_env_VarError = class end
00:00:22 verbose #1404 > > #if FABLE_COMPILER
00:00:22 verbose #1405 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:22 verbose #1406 > > #endif
00:00:22 verbose #1407 > > type core_any_Any = class end
00:00:22 verbose #1408 > > #if FABLE_COMPILER
00:00:22 verbose #1409 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:22 verbose #1410 > > #endif
00:00:22 verbose #1411 > > type core_ops_Try<'T> = class end
00:00:22 verbose #1412 > > #if FABLE_COMPILER
00:00:22 verbose #1413 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:22 verbose #1414 > > #endif
00:00:22 verbose #1415 > > type Func0<'T> = class end
00:00:22 verbose #1416 > > #if FABLE_COMPILER
00:00:22 verbose #1417 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:22 verbose #1418 > > #endif
00:00:22 verbose #1419 > > type Func0<'T, 'U> = class end
00:00:22 verbose #1420 > > #if FABLE_COMPILER
00:00:22 verbose #1421 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:22 verbose #1422 > > #endif
00:00:22 verbose #1423 > > type Box<'T> = class end
00:00:22 verbose #1424 > > #if FABLE_COMPILER
00:00:22 verbose #1425 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:22 verbose #1426 > > #endif
00:00:22 verbose #1427 > > type Dyn<'T> = class end
00:00:22 verbose #1428 > > #if FABLE_COMPILER
00:00:22 verbose #1429 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:22 verbose #1430 > > #endif
00:00:22 verbose #1431 > > type Send<'T> = class end
00:00:22 verbose #1432 > > #if FABLE_COMPILER
00:00:22 verbose #1433 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:22 verbose #1434 > > #endif
00:00:22 verbose #1435 > > type Fn<'T> = class end
00:00:22 verbose #1436 > > #if FABLE_COMPILER
00:00:22 verbose #1437 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:22 verbose #1438 > > #endif
00:00:22 verbose #1439 > > type FnUnit = class end
00:00:22 verbose #1440 > > #if FABLE_COMPILER
00:00:22 verbose #1441 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:22 verbose #1442 > > #...
00:00:23 verbose #1443 > >
00:00:23 verbose #1444 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:23 verbose #1445 > > #if FABLE_COMPILER
00:00:23 verbose #1446 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:00:23 verbose #1447 > > #endif
00:00:23 verbose #1448 > > type clap_Arg = class end
00:00:23 verbose #1449 > > #if FABLE_COMPILER
00:00:23 verbose #1450 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:00:23 verbose #1451 > > #endif
00:00:23 verbose #1452 > > type clap_ArgAction = class end
00:00:23 verbose #1453 > > #if FABLE_COMPILER
00:00:23 verbose #1454 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:00:23 verbose #1455 > > #endif
00:00:23 verbose #1456 > > type clap_Command = class end
00:00:23 verbose #1457 > > #if FABLE_COMPILER
00:00:23 verbose #1458 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:00:23 verbose #1459 > > #endif
00:00:23 verbose #1460 > > type clap_ArgMatches = class end
00:00:23 verbose #1461 > > #if FABLE_COMPILER
00:00:23 verbose #1462 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:00:23 verbose #1463 > > #endif
00:00:23 verbose #1464 > > type clap_builder_ValueRange = class end
00:00:23 verbose #1465 > > #if FABLE_COMPILER
00:00:23 verbose #1466 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:00:23 verbose #1467 > > #endif
00:00:23 verbose #1468 > > type clap_builder_ValueParser = class end
00:00:23 verbose #1469 > > #if FABLE_COMPILER
00:00:23 verbose #1470 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:00:23 verbose #1471 > > #endif
00:00:23 verbose #1472 > > type clap_builder_PossibleValue = class end
00:00:23 verbose #1473 > > #if FABLE_COMPILER
00:00:23 verbose #1474 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:00:23 verbose #1475 > > #endif
00:00:23 verbose #1476 > > type std_process_Child = class end
00:00:23 verbose #1477 > > #if FABLE_COMPILER
00:00:23 verbose #1478 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:00:23 verbose #1479 > > #endif
00:00:23 verbose #1480 > > type std_process_ChildStderr = class end
00:00:23 verbose #1481 > > #if FABLE_COMPILER
00:00:23 verbose #1482 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:00:23 verbose #1483 > > #endif
00:00:23 verbose #1484 > > type std_process_ChildStdout = class end
00:00:23 verbose #1485 > > #if FABLE_COMPILER
00:00:23 verbose #1486 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:00:23 verbose #1487 > > #endif
00:00:23 verbose #1488 > > type std_process_ChildStdin = class end
00:00:23 verbose #1489 > > #if FABLE_COMPILER
00:00:23 verbose #1490 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:00:23 verbose #1491 > > #endif
00:00:23 verbose #1492 > > type std_process_Command = class ...
00:00:25 verbose #1493 > >
00:00:25 verbose #1494 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:25 verbose #1495 > > #if FABLE_COMPILER
00:00:25 verbose #1496 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:00:25 verbose #1497 > > #endif
00:00:25 verbose #1498 > > type std_fs_File = class end
00:00:25 verbose #1499 > > #if FABLE_COMPILER
00:00:25 verbose #1500 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:00:25 verbose #1501 > > #endif
00:00:25 verbose #1502 > > type std_fs_FileType = class end
00:00:25 verbose #1503 > > #if FABLE_COMPILER
00:00:25 verbose #1504 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:00:25 verbose #1505 > > #endif
00:00:25 verbose #1506 > > type std_path_Display = class end
00:00:25 verbose #1507 > > #if FABLE_COMPILER
00:00:25 verbose #1508 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:00:25 verbose #1509 > > #endif
00:00:25 verbose #1510 > > type std_path_Path = class end
00:00:25 verbose #1511 > > #if FABLE_COMPILER
00:00:25 verbose #1512 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:00:25 verbose #1513 > > #endif
00:00:25 verbose #1514 > > type std_path_PathBuf = class end
00:00:25 verbose #1515 > > #if FABLE_COMPILER
00:00:25 verbose #1516 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:00:25 verbose #1517 > > #endif
00:00:25 verbose #1518 > > type async_walkdir_DirEntry = class end
00:00:25 verbose #1519 > > #if FABLE_COMPILER
00:00:25 verbose #1520 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:00:25 verbose #1521 > > #endif
00:00:25 verbose #1522 > > type async_walkdir_Filtering = class end
00:00:25 verbose #1523 > > #if FABLE_COMPILER
00:00:25 verbose #1524 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:00:25 verbose #1525 > > #endif
00:00:25 verbose #1526 > > type async_walkdir_WalkDir = class end
00:00:25 verbose #1527 > > #if FABLE_COMPILER
00:00:25 verbose #1528 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:25 verbose #1529 > > #endif
00:00:25 verbose #1530 > > type core_any_Any = class end
00:00:25 verbose #1531 > > #if FABLE_COMPILER
00:00:25 verbose #1532 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:25 verbose #1533 > > #endif
00:00:25 verbose #1534 > > type core_ops_Try<'T> = class end
00:00:25 verbose #1535 > > #if FABLE_COMPILER
00:00:25 verbose #1536 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:25 verbose #1537 > > #endif
00:00:25 verbose #1538 > > type Func0<'T> = class end
00:00:25 verbose #1539 > > #if FABLE_COMPILER
00:00:25 verbose #1540 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:25 verbose #1541 > > #endif
00:00:25 verbose #1542 > > type Func0<'T, 'U> = class end
00:00:25 verbose #1543 > > #if FABLE_COMPILER
00:00:25 verbose #1544 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:25 verbose #1545 > > #endif
00:00:25 verbose #1546 > > type Box<'T> = clas...
00:00:27 verbose #1547 > >
00:00:27 verbose #1548 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:27 verbose #1549 > > module SpiralTrace =
00:00:27 verbose #1550 > > let trace x =
00:00:27 verbose #1551 > > #if !INTERACTIVE
00:00:27 verbose #1552 > > Trace.trace x
00:00:27 verbose #1553 > > #else
00:00:27 verbose #1554 > > trace x
00:00:27 verbose #1555 > > #endif
00:00:27 verbose #1556 > >
00:00:27 verbose #1557 > > type TraceLevel =
00:00:27 verbose #1558 > > #if !INTERACTIVE
00:00:27 verbose #1559 > > Trace.US0
00:00:27 verbose #1560 > > #else
00:00:27 verbose #1561 > > US0
00:00:27 verbose #1562 > > #endif
00:00:27 verbose #1563 > >
00:00:27 verbose #1564 > > module SpiralCrypto =
00:00:27 verbose #1565 > > let hash_text x =
00:00:27 verbose #1566 > > #if !INTERACTIVE
00:00:27 verbose #1567 > > Crypto.hash_text x
00:00:27 verbose #1568 > > #else
00:00:27 verbose #1569 > > hash_text x
00:00:27 verbose #1570 > > #endif
00:00:27 verbose #1571 > >
00:00:27 verbose #1572 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:00:27 verbose #1573 > >
00:00:27 verbose #1574 > > module SpiralAsync =
00:00:27 verbose #1575 > > let merge_cancellation_token_with_default_async x =
00:00:27 verbose #1576 > > #if !INTERACTIVE
00:00:27 verbose #1577 > > Async_.merge_cancellation_token_with_default_async x
00:00:27 verbose #1578 > > #else
00:00:27 verbose #1579 > > merge_cancellation_token_with_default_async x
00:00:27 verbose #1580 > > #endif
00:00:27 verbose #1581 > >
00:00:27 verbose #1582 > > module SpiralThreading =
00:00:27 verbose #1583 > > let new_disposable_token x =
00:00:27 verbose #1584 > > #if !INTERACTIVE
00:00:27 verbose #1585 > > Threading.new_disposable_token x
00:00:27 verbose #1586 > > #else
00:00:27 verbose #1587 > > new_disposable_token x
00:00:27 verbose #1588 > > #endif
00:00:27 verbose #1589 > >
00:00:27 verbose #1590 > > module SpiralNetworking =
00:00:27 verbose #1591 > > let test_port_open x =
00:00:27 verbose #1592 > > #if !INTERACTIVE
00:00:27 verbose #1593 > > Networking.test_port_open x
00:00:27 verbose #1594 > > #else
00:00:27 verbose #1595 > > test_port_open x
00:00:27 verbose #1596 > > #endif
00:00:27 verbose #1597 > >
00:00:27 verbose #1598 > > let test_port_open_timeout x =
00:00:27 verbose #1599 > > #if !INTERACTIVE
00:00:27 verbose #1600 > > Networking.test_port_open_timeout x
00:00:27 verbose #1601 > > #else
00:00:27 verbose #1602 > > test_port_open_timeout x
00:00:27 verbose #1603 > > #endif
00:00:27 verbose #1604 > >
00:00:27 verbose #1605 > > let wait_for_port_access x =
00:00:27 verbose #1606 > > #if !INTERACTIVE
00:00:27 verbose #1607 > > Networking.wait_for_port_access x
00:00:27 verbose #1608 > > #else
00:00:27 verbose #1609 > > wait_for_port_access x
00:00:27 verbose #1610 > > #endif
00:00:27 verbose #1611 > >
00:00:27 verbose #1612 > > let get_available_port x =
00:00:27 verbose #1613 > > #if !INTERACTIVE
00:00:27 verbose #1614 > > Networking.get_available_port x
00:00:27 verbose #1615 > > #else
00:00:27 verbose #1616 > > get_available_port x
00:00:27 verbose #1617 > > #endif
00:00:27 verbose #1618 > >
00:00:27 verbose #1619 > > module SpiralRuntime =
00:00:27 verbose #1620 > > let get_executable_suffix () =
00:00:27 verbose #1621 > > #if !INTERACTIVE
00:00:27 verbose #1622 > > Runtime.get_executable_suffix ()
00:00:27 verbose #1623 > > #else
00:00:27 verbose #1624 > > get_executable_suffix ()
00:00:27 verbose #1625 > > #endif
00:00:27 verbose #1626 > >
00:00:27 verbose #1627 > > let is_windows () =
00:00:27 verbose #1628 > > #if !INTERACTIVE
00:00:27 verbose #1629 > > ...
00:00:27 verbose #1630 > >
00:00:27 verbose #1631 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:27 verbose #1632 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:00:27 verbose #1633 > >
00:00:27 verbose #1634 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:27 verbose #1635 > > //// test
00:00:27 verbose #1636 > >
00:00:27 verbose #1637 > > type AssertExceptionFormatter (ex) =
00:00:27 verbose #1638 > > member _.Text =
00:00:27 verbose #1639 > > ex.ToString()
00:00:27 verbose #1640 > > .Replace("32m", "<span style=\"color: green;\">")
00:00:27 verbose #1641 > > .Replace("36m", "</span>")
00:00:27 verbose #1642 > > .Replace("31m", "<span style=\"color: red;\">")
00:00:27 verbose #1643 > > .Replace("\n", "<br/>\n")
00:00:27 verbose #1644 > >
00:00:27 verbose #1645 > >
00:00:27 verbose #1646 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:00:27 verbose #1647 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:00:27 verbose #1648 > >
00:00:27 verbose #1649 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:27 verbose #1650 > > //// test
00:00:27 verbose #1651 > >
00:00:27 verbose #1652 > > let inline __expect fn log expected actual =
00:00:27 verbose #1653 > > if log then printfn $"{actual.ToDisplayString ()}"
00:00:27 verbose #1654 > > try
00:00:27 verbose #1655 > > "Testing.__expect" |> fn actual expected
00:00:27 verbose #1656 > > with :? Expecto.AssertException as ex ->
00:00:27 verbose #1657 > > AssertExceptionFormatter(ex).Display () |> ignore
00:00:27 verbose #1658 > > failwith (ex.GetType().FullName)
00:00:27 verbose #1659 > >
00:00:27 verbose #1660 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:00:27 verbose #1661 > > expected actual
00:00:27 verbose #1662 > > let inline _contains expected actual = __contains true expected actual
00:00:27 verbose #1663 > >
00:00:27 verbose #1664 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:00:27 verbose #1665 > > expected actual
00:00:27 verbose #1666 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:00:27 verbose #1667 > >
00:00:27 verbose #1668 > > let inline __isGreaterThan log expected actual = __expect
00:00:27 verbose #1669 > > Expecto.Expect.isGreaterThan log expected actual
00:00:27 verbose #1670 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:00:27 verbose #1671 > >
00:00:27 verbose #1672 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:00:27 verbose #1673 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:00:27 verbose #1674 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:00:27 verbose #1675 > > expected actual
00:00:27 verbose #1676 > >
00:00:27 verbose #1677 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:00:27 verbose #1678 > > log expected actual
00:00:27 verbose #1679 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:00:27 verbose #1680 > >
00:00:27 verbose #1681 > > let inline __isLessThanOrEqual log expected actual = __expect
00:00:27 verbose #1682 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:00:27 verbose #1683 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:00:27 verbose #1684 > > expected actual
00:00:27 verbose #1685 > >
00:00:27 verbose #1686 > > let inline __sequenceEqual log expected actual = __expe...
00:00:27 verbose #1687 > >
00:00:27 verbose #1688 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:27 verbose #1689 > > //// test
00:00:27 verbose #1690 > >
00:00:27 verbose #1691 > > let inline __isBetween log a b actual =
00:00:27 verbose #1692 > > let inline isBetween actual (a, b) _ =
00:00:27 verbose #1693 > > __isGreaterThanOrEqual log a actual
00:00:27 verbose #1694 > > __isLessThanOrEqual log b actual
00:00:27 verbose #1695 > > __expect isBetween log (a, b) actual
00:00:27 verbose #1696 > > let inline _isBetween a b actual = __isBetween true a b actual
00:00:27 verbose #1697 > >
00:00:27 verbose #1698 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:27 verbose #1699 > > #r
00:00:27 verbose #1700 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
00:00:27 verbose #1701 > > dard2.1/FSharp.Control.AsyncSeq.dll"
00:00:27 verbose #1702 > > #r
00:00:27 verbose #1703 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
00:00:27 verbose #1704 > > 0/System.Reactive.dll"
00:00:27 verbose #1705 > > #r
00:00:27 verbose #1706 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
00:00:27 verbose #1707 > > netstandard2.0/System.Reactive.Linq.dll"
00:00:27 verbose #1708 > >
00:00:27 verbose #1709 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:27 verbose #1710 > > #!import ../../lib/fsharp/Common.fs
00:00:27 verbose #1711 > > #!import ../../lib/fsharp/Async.fs
00:00:27 verbose #1712 > >
00:00:27 verbose #1713 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:27 verbose #1714 > > #if !INTERACTIVE
00:00:27 verbose #1715 > > namespace Polyglot
00:00:27 verbose #1716 > > #endif
00:00:27 verbose #1717 > >
00:00:27 verbose #1718 > > module Common =
00:00:27 verbose #1719 > >
00:00:27 verbose #1720 > > #if !INTERACTIVE
00:00:27 verbose #1721 > > open Lib
00:00:27 verbose #1722 > > #endif
00:00:27 verbose #1723 > >
00:00:27 verbose #1724 > > let nl = System.Environment.NewLine
00:00:27 verbose #1725 > > let q = @""""
00:00:27 verbose #1726 > >
00:00:27 verbose #1727 > > let inline cons head tail = head :: tail
00:00:27 verbose #1728 > >
00:00:27 verbose #1729 > > /// ## memoize
00:00:27 verbose #1730 > > let inline memoize fn =
00:00:27 verbose #1731 > > let result = lazy fn ()
00:00:27 verbose #1732 > > fun () -> result.Value
00:00:27 verbose #1733 > >
00:00:27 verbose #1734 > > /// ## TraceLevel
00:00:27 verbose #1735 > > type TraceLevel =
00:00:27 verbose #1736 > > | Verbose
00:00:27 verbose #1737 > > | Debug
00:00:27 verbose #1738 > > | Info
00:00:27 verbose #1739 > > | Warning
00:00:27 verbose #1740 > > | Critical
00:00:27 verbose #1741 > >
00:00:27 verbose #1742 > > let inline _locals () = ""
00:00:27 verbose #1743 > >
00:00:27 verbose #1744 > > /// ## trace
00:00:27 verbose #1745 > > let to_trace_level = function
00:00:27 verbose #1746 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:00:27 verbose #1747 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:00:27 verbose #1748 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:00:27 verbose #1749 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:00:27 verbose #1750 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:00:27 verbose #1751 > >
00:00:27 verbose #1752 > > let trace level fn locals =
00:00:27 verbose #1753 > > let level = level |> to_trace_level
00:00:27 verbose #1754 > > SpiralTrace.trace level fn locals
00:00:27 verbose #1755 > >
00:00:27 verbose #1756 > >
00:00:27 verbose #1757 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:27 verbose #1758 > > #if !INTERACTIVE
00:00:27 verbose #1759 > > namespace Polyglot
00:00:27 verbose #1760 > > #endif
00:00:27 verbose #1761 > >
00:00:27 verbose #1762 > > module Async =
00:00:27 verbose #1763 > >
00:00:27 verbose #1764 > > #if !INTERACTIVE
00:00:27 verbose #1765 > > open Lib
00:00:27 verbose #1766 > > #endif
00:00:27 verbose #1767 > >
00:00:27 verbose #1768 > > open Common
00:00:27 verbose #1769 > >
00:00:27 verbose #1770 > > /// ## choice
00:00:27 verbose #1771 > > let inline choice asyncs = async {
00:00:27 verbose #1772 > > let e = Event<_> ()
00:00:27 verbose #1773 > > use cts = new System.Threading.CancellationTokenSource ()
00:00:27 verbose #1774 > > let fn =
00:00:27 verbose #1775 > > asyncs
00:00:27 verbose #1776 > > |> Seq.map (fun a -> async {
00:00:27 verbose #1777 > > let! x = a
00:00:27 verbose #1778 > > e.Trigger x
00:00:27 verbose #1779 > > })
00:00:27 verbose #1780 > > |> Async.Parallel
00:00:27 verbose #1781 > > |> Async.Ignore
00:00:27 verbose #1782 > > Async.Start (fn, cts.Token)
00:00:27 verbose #1783 > > let! result = Async.AwaitEvent e.Publish
00:00:27 verbose #1784 > > cts.Cancel ()
00:00:27 verbose #1785 > > return result
00:00:27 verbose #1786 > > }
00:00:27 verbose #1787 > >
00:00:27 verbose #1788 > > /// ## map
00:00:27 verbose #1789 > > let inline map fn a = async {
00:00:27 verbose #1790 > > let! x = a
00:00:27 verbose #1791 > > return fn x
00:00:27 verbose #1792 > > }
00:00:27 verbose #1793 > >
00:00:27 verbose #1794 > > /// ## catch
00:00:27 verbose #1795 > > let inline catch a =
00:00:27 verbose #1796 > > a
00:00:27 verbose #1797 > > |> Async.Catch
00:00:27 verbose #1798 > > |> map (function
00:00:27 verbose #1799 > > | Choice1Of2 result -> Ok result
00:00:27 verbose #1800 > > | Choice2Of2 ex -> Error ex
00:00:27 verbose #1801 > > )
00:00:27 verbose #1802 > >
00:00:27 verbose #1803 > > /// ## runWithTimeoutChoiceAsync
00:00:27 verbose #1804 > > let inline runWithTimeoutChoiceAsync (timeout : int) fn =
00:00:27 verbose #1805 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:00:27 verbose #1806 > >
00:00:27 verbose #1807 > > let timeoutTask = async {
00:00:27 verbose #1808 > > do! Async.Sleep timeout
00:00:27 verbose #1809 > > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals
00:00:27 verbose #1810 > > return None
00:00:27 verbose #1811 > > }
00:00:27 verbose #1812 > >
00:00:27 verbose #1813 > > let task = async {
00:00:27 verbose #1814 > > try
00:00:27 verbose #1815 > > let! result = fn
00:00:27 verbose #1816 > > return Some result
00:00:27 verbose #1817 > > with
00:00:27 verbose #1818 > > | :? System.AggregateException as ex when
00:00:27 verbose #1819 > > ex.InnerExceptions
00:00:27 verbose #1820 > > |> Seq.exists (function :? Sys...
00:00:28 verbose #1821 > >
00:00:28 verbose #1822 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:28 verbose #1823 > > #if !INTERACTIVE
00:00:28 verbose #1824 > > open Lib
00:00:28 verbose #1825 > > #endif
00:00:28 verbose #1826 > >
00:00:28 verbose #1827 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:28 verbose #1828 > > open Common
00:00:28 verbose #1829 > >
00:00:28 verbose #1830 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:28 verbose #1831 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:28 verbose #1832 > > │ ## subscribeEvent │
00:00:28 verbose #1833 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:28 verbose #1834 > >
00:00:28 verbose #1835 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:28 verbose #1836 > > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
00:00:28 verbose #1837 > > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
00:00:28 verbose #1838 > > 'A>(event.AddHandler, event.RemoveHandler)
00:00:28 verbose #1839 > > System.Reactive.Linq.Observable.Select (observable, fun event -> map
00:00:28 verbose #1840 > > event.EventArgs)
00:00:28 verbose #1841 > > |> FSharp.Control.AsyncSeq.ofObservableBuffered
00:00:28 verbose #1842 > >
00:00:28 verbose #1843 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:28 verbose #1844 > > //// test
00:00:28 verbose #1845 > >
00:00:28 verbose #1846 > > type TestEvent () as self =
00:00:28 verbose #1847 > > member val Calls = [[]] with get, set
00:00:28 verbose #1848 > > member val Event = Event<ErrorEventHandler, ErrorEventArgs> () with get
00:00:28 verbose #1849 > >
00:00:28 verbose #1850 > > member _.AddCall text =
00:00:28 verbose #1851 > > self.Calls <- self.Calls @ [[ text ]]
00:00:28 verbose #1852 > >
00:00:28 verbose #1853 > > member _.EventInterface =
00:00:28 verbose #1854 > > { new IEvent<ErrorEventHandler, ErrorEventArgs> with
00:00:28 verbose #1855 > > member _.AddHandler handler =
00:00:28 verbose #1856 > > self.AddCall "AddHandler"
00:00:28 verbose #1857 > > self.Event.Publish.AddHandler handler
00:00:28 verbose #1858 > >
00:00:28 verbose #1859 > > member _.RemoveHandler handler =
00:00:28 verbose #1860 > > self.AddCall "RemoveHandler"
00:00:28 verbose #1861 > > self.Event.Publish.RemoveHandler handler
00:00:28 verbose #1862 > >
00:00:28 verbose #1863 > > member _.Subscribe observer =
00:00:28 verbose #1864 > > self.AddCall "IObservable.Subscribe"
00:00:28 verbose #1865 > > let disposable = self.Event.Publish.Subscribe observer
00:00:28 verbose #1866 > > new_disposable (fun () ->
00:00:28 verbose #1867 > > self.AddCall "IObservable.Dispose"
00:00:28 verbose #1868 > > disposable.Dispose ()
00:00:28 verbose #1869 > > )
00:00:28 verbose #1870 > > }
00:00:28 verbose #1871 > >
00:00:28 verbose #1872 > > member _.Subscribe () =
00:00:28 verbose #1873 > > subscribeEvent
00:00:28 verbose #1874 > > self.EventInterface
00:00:28 verbose #1875 > > (fun args ->
00:00:28 verbose #1876 > > let result = args.GetException () |> SpiralSm.format_exception
00:00:28 verbose #1877 > > self.AddCall $"TestEvent.Subscribe({result})"
00:00:28 verbose #1878 > > result
00:00:28 verbose #1879 > > )
00:00:28 verbose #1880 > >
00:00:28 verbose #1881 > > member _.Iter subscription =
00:00:28 verbose #1882 > > subscription
00:00:28 verbose #1883 > > |> FSharp.Control.AsyncSeq.iteriAsync (fun i error -> async {
00:00:28 verbose #1884 > > self.AddCall $"TestEvent.Iter({i}: {error})"
00:00:28 verbose #1885 > > })
00:00:28 verbose #1886 > >
00:00:28 verbose #1887 > > member _.WaitCall text = async {
00:00:28 verbose #1888 > > while self.Calls |> List.last <> text do
00:00:28 verbose #1889 > > do! Async.SwitchToThreadPool ()
00:00:28 verbose #1890 > > }
00:00:28 verbose #1891 > >
00:00:28 verbose #1892 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:28 verbose #1893 > > //// test
00:00:28 verbose #1894 > >
00:00:28 verbose #1895 > > let testEvent = TestEvent ()
00:00:28 verbose #1896 > >
00:00:28 verbose #1897 > > async {
00:00:28 verbose #1898 > > testEvent.AddCall "1"
00:00:28 verbose #1899 > > let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
00:00:28 verbose #1900 > > do! testEvent.WaitCall "AddHandler"
00:00:28 verbose #1901 > > testEvent.AddCall "2"
00:00:28 verbose #1902 > > do! child
00:00:28 verbose #1903 > > testEvent.AddCall "3"
00:00:28 verbose #1904 > > }
00:00:28 verbose #1905 > > |> Async.runWithTimeout 300
00:00:28 verbose #1906 > > |> _assertEqual None
00:00:28 verbose #1907 > >
00:00:28 verbose #1908 > > testEvent.Calls
00:00:28 verbose #1909 > > |> Seq.toList
00:00:28 verbose #1910 > > |> _assertEqual [[ "1"; "AddHandler"; "2"; "RemoveHandler" ]]
00:00:29 verbose #1911 > >
00:00:29 verbose #1912 > > ╭─[ 459.15ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 verbose #1913 > > │ 00:00:01 debug #1 runWithTimeoutAsync / timeout: 300 │
00:00:29 verbose #1914 > > │ <null> │
00:00:29 verbose #1915 > > │ │
00:00:29 verbose #1916 > > │ ["1"; "AddHandler"; "2"; "RemoveHandler"] │
00:00:29 verbose #1917 > > │ │
00:00:29 verbose #1918 > > │ │
00:00:29 verbose #1919 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 verbose #1920 > >
00:00:29 verbose #1921 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:29 verbose #1922 > > //// test
00:00:29 verbose #1923 > >
00:00:29 verbose #1924 > > let testEvent = TestEvent ()
00:00:29 verbose #1925 > >
00:00:29 verbose #1926 > > async {
00:00:29 verbose #1927 > > testEvent.AddCall "1"
00:00:29 verbose #1928 > > let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
00:00:29 verbose #1929 > > do! testEvent.WaitCall "AddHandler"
00:00:29 verbose #1930 > > testEvent.AddCall "2"
00:00:29 verbose #1931 > > use _ = testEvent.EventInterface.Subscribe (fun args ->
00:00:29 verbose #1932 > > testEvent.AddCall $"testEvent.EventInterface.Subscribe({args})"
00:00:29 verbose #1933 > > )
00:00:29 verbose #1934 > > testEvent.AddCall "3"
00:00:29 verbose #1935 > > do! child
00:00:29 verbose #1936 > > testEvent.AddCall "4"
00:00:29 verbose #1937 > > }
00:00:29 verbose #1938 > > |> Async.runWithTimeout 300
00:00:29 verbose #1939 > > |> _assertEqual None
00:00:29 verbose #1940 > >
00:00:29 verbose #1941 > > testEvent.Calls
00:00:29 verbose #1942 > > |> _assertEqual [[ "1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3";
00:00:29 verbose #1943 > > "RemoveHandler"; "IObservable.Dispose" ]]
00:00:29 verbose #1944 > >
00:00:29 verbose #1945 > > ╭─[ 392.80ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 verbose #1946 > > │ 00:00:01 debug #2 runWithTimeoutAsync / timeout: 300 │
00:00:29 verbose #1947 > > │ <null> │
00:00:29 verbose #1948 > > │ │
00:00:29 verbose #1949 > > │ ["1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3"; "RemoveHandler"; │
00:00:29 verbose #1950 > > │ "IObservable.Dispose"] │
00:00:29 verbose #1951 > > │ │
00:00:29 verbose #1952 > > │ │
00:00:29 verbose #1953 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 verbose #1954 > >
00:00:29 verbose #1955 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:29 verbose #1956 > > //// test
00:00:29 verbose #1957 > >
00:00:29 verbose #1958 > > let testEvent = TestEvent ()
00:00:29 verbose #1959 > >
00:00:29 verbose #1960 > > async {
00:00:29 verbose #1961 > > testEvent.AddCall "1"
00:00:29 verbose #1962 > > let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
00:00:29 verbose #1963 > > do! testEvent.WaitCall "AddHandler"
00:00:29 verbose #1964 > > testEvent.AddCall "2"
00:00:29 verbose #1965 > > use _ = testEvent.EventInterface.Subscribe (fun args ->
00:00:29 verbose #1966 > > async {
00:00:29 verbose #1967 > > do! testEvent.WaitCall "TestEvent.Iter(0: System.Exception: error)"
00:00:29 verbose #1968 > > testEvent.AddCall
00:00:29 verbose #1969 > > $"testEvent.EventInterface.Subscribe({args.GetException () |>
00:00:29 verbose #1970 > > SpiralSm.format_exception})"
00:00:29 verbose #1971 > > }
00:00:29 verbose #1972 > > |> Async.RunSynchronously
00:00:29 verbose #1973 > > )
00:00:29 verbose #1974 > > testEvent.AddCall "3"
00:00:29 verbose #1975 > > testEvent.Event.Trigger (null, ErrorEventArgs (Exception "error"))
00:00:29 verbose #1976 > > testEvent.AddCall "4"
00:00:29 verbose #1977 > > do! child
00:00:29 verbose #1978 > > testEvent.AddCall "5"
00:00:29 verbose #1979 > > }
00:00:29 verbose #1980 > > |> Async.runWithTimeout 300
00:00:29 verbose #1981 > > |> _assertEqual None
00:00:29 verbose #1982 > >
00:00:29 verbose #1983 > > testEvent.Calls
00:00:29 verbose #1984 > > |> _assertEqual [[
00:00:29 verbose #1985 > > "1"
00:00:29 verbose #1986 > > "AddHandler"
00:00:29 verbose #1987 > > "2"
00:00:29 verbose #1988 > > "IObservable.Subscribe"
00:00:29 verbose #1989 > > "3"
00:00:29 verbose #1990 > > "TestEvent.Subscribe(System.Exception: error)"
00:00:29 verbose #1991 > > "TestEvent.Iter(0: System.Exception: error)"
00:00:29 verbose #1992 > > "testEvent.EventInterface.Subscribe(System.Exception: error)"
00:00:29 verbose #1993 > > "4"
00:00:29 verbose #1994 > > "RemoveHandler"
00:00:29 verbose #1995 > > "IObservable.Dispose"
00:00:29 verbose #1996 > > ]]
00:00:29 verbose #1997 > >
00:00:29 verbose #1998 > > ╭─[ 447.94ms - stdout ]────────────────────────────────────────────────────────╮
00:00:29 verbose #1999 > > │ 00:00:02 debug #3 runWithTimeoutAsync / timeout: 300 │
00:00:29 verbose #2000 > > │ <null> │
00:00:29 verbose #2001 > > │ │
00:00:29 verbose #2002 > > │ ["1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3"; │
00:00:29 verbose #2003 > > │ "TestEvent.Subscribe(System.Exception: error)"; │
00:00:29 verbose #2004 > > │ "TestEvent.Iter(0: System.Exception: error)"; │
00:00:29 verbose #2005 > > │ "testEvent.EventInterface.Subscribe(System.Exception: error)"; "4"; │
00:00:29 verbose #2006 > > │ "RemoveHandler"; "IObservable.Dispose"] │
00:00:29 verbose #2007 > > │ │
00:00:29 verbose #2008 > > │ │
00:00:29 verbose #2009 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 verbose #2010 > >
00:00:29 verbose #2011 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:29 verbose #2012 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:29 verbose #2013 > > │ ## subscribeToken │
00:00:29 verbose #2014 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:29 verbose #2015 > >
00:00:29 verbose #2016 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:29 verbose #2017 > > let subscribeToken (token : System.Threading.CancellationToken) =
00:00:29 verbose #2018 > > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
00:00:29 verbose #2019 > > System.Action tcs.SetResult |> token.Register |> ignore
00:00:29 verbose #2020 > > let start = System.DateTime.Now.Ticks
00:00:29 verbose #2021 > > FSharp.Control.AsyncSeq.unfoldAsync
00:00:29 verbose #2022 > > (fun () -> async {
00:00:29 verbose #2023 > > do! tcs.Task |> Async.AwaitTask
00:00:29 verbose #2024 > > return Some (System.DateTime.Now.Ticks - start, ())
00:00:29 verbose #2025 > > })
00:00:29 verbose #2026 > > ()
00:00:30 verbose #2027 > >
00:00:30 verbose #2028 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #2029 > > //// test
00:00:30 verbose #2030 > >
00:00:30 verbose #2031 > > let cts = new System.Threading.CancellationTokenSource ()
00:00:30 verbose #2032 > >
00:00:30 verbose #2033 > > async {
00:00:30 verbose #2034 > > let! child =
00:00:30 verbose #2035 > > cts.Token
00:00:30 verbose #2036 > > |> subscribeToken
00:00:30 verbose #2037 > > |> FSharp.Control.AsyncSeq.tryFirst
00:00:30 verbose #2038 > > |> Async.StartChild
00:00:30 verbose #2039 > >
00:00:30 verbose #2040 > > do! Async.Sleep 100
00:00:30 verbose #2041 > > cts.Cancel ()
00:00:30 verbose #2042 > > return! child
00:00:30 verbose #2043 > > }
00:00:30 verbose #2044 > > |> Async.RunSynchronously
00:00:30 verbose #2045 > > |> Option.get
00:00:30 verbose #2046 > > |> _isGreaterThan 900000
00:00:30 verbose #2047 > >
00:00:30 verbose #2048 > > ╭─[ 154.29ms - stdout ]────────────────────────────────────────────────────────╮
00:00:30 verbose #2049 > > │ 1041954L │
00:00:30 verbose #2050 > > │ │
00:00:30 verbose #2051 > > │ │
00:00:30 verbose #2052 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #2053 > 00:00:13 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 31026
00:00:30 verbose #2054 > 00:00:13 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:00:30 verbose #2055 > 00:00:14 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb to html
00:00:30 verbose #2056 > 00:00:14 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:30 verbose #2057 > 00:00:14 verbose #7 ! validate(nb)
00:00:31 verbose #2058 > 00:00:15 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:31 verbose #2059 > 00:00:15 verbose #9 ! return _pygments_highlight(
00:00:31 verbose #2060 > 00:00:15 verbose #10 ! [NbConvertApp] Writing 302801 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.html
00:00:31 verbose #2061 > 00:00:15 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 900
00:00:31 verbose #2062 > 00:00:15 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 900
00:00:31 verbose #2063 > 00:00:15 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:00:31 verbose #2064 > 00:00:15 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:00:31 verbose #2065 > 00:00:15 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:00:31 verbose #2066 > 00:00:15 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 31985
00:00:31 debug #2067 execute_with_options_async / exit_code: 0 / output.Length: 36250
00:00:31 debug #4 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path AsyncSeq.dib --retries 3
00:00:31 debug #2068 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path Common.dib --retries 3",
[||], None, None, true, None)
00:00:31 verbose #2069 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Common.dib", "--retries", "3"])
00:00:31 verbose #2070 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:33 verbose #2071 > >
00:00:33 verbose #2072 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:33 verbose #2073 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:33 verbose #2074 > > │ # Common (Polyglot) │
00:00:33 verbose #2075 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:33 verbose #2076 > >
00:00:33 verbose #2077 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:33 verbose #2078 > > #!import ../../lib/fsharp/Notebooks.dib
00:00:33 verbose #2079 > > #!import ../../lib/fsharp/Testing.dib
00:00:33 verbose #2080 > >
00:00:33 verbose #2081 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:33 verbose #2082 > > #r
00:00:33 verbose #2083 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:00:33 verbose #2084 > > NetCore.Html.Abstractions.dll"
00:00:33 verbose #2085 > > #r
00:00:33 verbose #2086 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:33 verbose #2087 > > Net.Interactive.dll"
00:00:33 verbose #2088 > > #r
00:00:33 verbose #2089 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:33 verbose #2090 > > Net.Interactive.FSharp.dll"
00:00:33 verbose #2091 > > #r
00:00:33 verbose #2092 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:33 verbose #2093 > > Net.Interactive.Formatting.dll"
00:00:33 verbose #2094 > > open System
00:00:33 verbose #2095 > > open System.IO
00:00:33 verbose #2096 > > open System.Text
00:00:33 verbose #2097 > > open Microsoft.DotNet.Interactive.Formatting
00:00:35 verbose #2098 > >
00:00:35 verbose #2099 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:35 verbose #2100 > > #r
00:00:35 verbose #2101 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:35 verbose #2102 > > Net.Interactive.FSharp.dll"
00:00:35 verbose #2103 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:35 verbose #2104 > > #r
00:00:35 verbose #2105 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:35 verbose #2106 > > Net.Interactive.dll"
00:00:35 verbose #2107 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:35 verbose #2108 > >
00:00:35 verbose #2109 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:35 verbose #2110 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:00:35 verbose #2111 > >
00:00:35 verbose #2112 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:35 verbose #2113 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:00:35 verbose #2114 > > TextWriter)->fprintfn writer "%120A" x)
00:00:35 verbose #2115 > >
00:00:35 verbose #2116 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:35 verbose #2117 > > //// test
00:00:35 verbose #2118 > >
00:00:35 verbose #2119 > > Formatter.ListExpansionLimit <- 100
00:00:35 verbose #2120 > >
00:00:35 verbose #2121 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:35 verbose #2122 > > #if FABLE_COMPILER
00:00:35 verbose #2123 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:35 verbose #2124 > > #endif
00:00:35 verbose #2125 > > type std_env_VarError = class end
00:00:35 verbose #2126 > > #if FABLE_COMPILER
00:00:35 verbose #2127 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:35 verbose #2128 > > #endif
00:00:35 verbose #2129 > > type core_any_Any = class end
00:00:35 verbose #2130 > > #if FABLE_COMPILER
00:00:35 verbose #2131 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:35 verbose #2132 > > #endif
00:00:35 verbose #2133 > > type core_ops_Try<'T> = class end
00:00:35 verbose #2134 > > #if FABLE_COMPILER
00:00:35 verbose #2135 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:35 verbose #2136 > > #endif
00:00:35 verbose #2137 > > type Func0<'T> = class end
00:00:35 verbose #2138 > > #if FABLE_COMPILER
00:00:35 verbose #2139 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:35 verbose #2140 > > #endif
00:00:35 verbose #2141 > > type Func0<'T, 'U> = class end
00:00:35 verbose #2142 > > #if FABLE_COMPILER
00:00:35 verbose #2143 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:35 verbose #2144 > > #endif
00:00:35 verbose #2145 > > type Box<'T> = class end
00:00:35 verbose #2146 > > #if FABLE_COMPILER
00:00:35 verbose #2147 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:35 verbose #2148 > > #endif
00:00:35 verbose #2149 > > type Dyn<'T> = class end
00:00:35 verbose #2150 > > #if FABLE_COMPILER
00:00:35 verbose #2151 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:35 verbose #2152 > > #endif
00:00:35 verbose #2153 > > type Send<'T> = class end
00:00:35 verbose #2154 > > #if FABLE_COMPILER
00:00:35 verbose #2155 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:35 verbose #2156 > > #endif
00:00:35 verbose #2157 > > type Fn<'T> = class end
00:00:35 verbose #2158 > > #if FABLE_COMPILER
00:00:35 verbose #2159 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:35 verbose #2160 > > #endif
00:00:35 verbose #2161 > > type FnUnit = class end
00:00:35 verbose #2162 > > #if FABLE_COMPILER
00:00:35 verbose #2163 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:35 verbose #2164 > > #endif
00:00:35 verbose #2165 > > type FnOnce<'T> = class end
00:00:35 verbose #2166 > > #if FABLE_COMPILER
00:00:35 verbose #2167 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:35 verbose #2168 > > #endif
00:00:35 verbose #2169 > > type ActionFn<'T> = class end
00:00:35 verbose #2170 > > #if FABLE_COMPILER
00:00:35 verbose #2171 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:35 verbose #2172 > > #endif
00:00:35 verbose #2173 > > type ActionFn2<'T, 'U> = class end
00:00:35 verbose #2174 > > #if FABLE_COMPILER
00:00:35 verbose #2175 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:35 verbose #2176 > > #endif
00:00:35 verbose #2177 > > type Impl<'T> = class end
00:00:35 verbose #2178 > > #if FABLE_COMPILER
00:00:35 verbose #2179 > > [[<Fable...
00:00:37 verbose #2180 > >
00:00:37 verbose #2181 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:37 verbose #2182 > > #if FABLE_COMPILER
00:00:37 verbose #2183 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:37 verbose #2184 > > #endif
00:00:37 verbose #2185 > > type core_any_Any = class end
00:00:37 verbose #2186 > > #if FABLE_COMPILER
00:00:37 verbose #2187 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:37 verbose #2188 > > #endif
00:00:37 verbose #2189 > > type core_ops_Try<'T> = class end
00:00:37 verbose #2190 > > #if FABLE_COMPILER
00:00:37 verbose #2191 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:37 verbose #2192 > > #endif
00:00:37 verbose #2193 > > type Func0<'T> = class end
00:00:37 verbose #2194 > > #if FABLE_COMPILER
00:00:37 verbose #2195 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:37 verbose #2196 > > #endif
00:00:37 verbose #2197 > > type Func0<'T, 'U> = class end
00:00:37 verbose #2198 > > #if FABLE_COMPILER
00:00:37 verbose #2199 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:37 verbose #2200 > > #endif
00:00:37 verbose #2201 > > type Box<'T> = class end
00:00:37 verbose #2202 > > #if FABLE_COMPILER
00:00:37 verbose #2203 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:37 verbose #2204 > > #endif
00:00:37 verbose #2205 > > type Dyn<'T> = class end
00:00:37 verbose #2206 > > #if FABLE_COMPILER
00:00:37 verbose #2207 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:37 verbose #2208 > > #endif
00:00:37 verbose #2209 > > type Send<'T> = class end
00:00:37 verbose #2210 > > #if FABLE_COMPILER
00:00:37 verbose #2211 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:37 verbose #2212 > > #endif
00:00:37 verbose #2213 > > type Fn<'T> = class end
00:00:37 verbose #2214 > > #if FABLE_COMPILER
00:00:37 verbose #2215 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:37 verbose #2216 > > #endif
00:00:37 verbose #2217 > > type FnUnit = class end
00:00:37 verbose #2218 > > #if FABLE_COMPILER
00:00:37 verbose #2219 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:37 verbose #2220 > > #endif
00:00:37 verbose #2221 > > type FnOnce<'T> = class end
00:00:37 verbose #2222 > > #if FABLE_COMPILER
00:00:37 verbose #2223 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:37 verbose #2224 > > #endif
00:00:37 verbose #2225 > > type ActionFn<'T> = class end
00:00:37 verbose #2226 > > #if FABLE_COMPILER
00:00:37 verbose #2227 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:37 verbose #2228 > > #endif
00:00:37 verbose #2229 > > type ActionFn2<'T, 'U> = class end
00:00:37 verbose #2230 > > #if FABLE_COMPILER
00:00:37 verbose #2231 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:37 verbose #2232 > > #endif
00:00:37 verbose #2233 > > type Impl<'T> = class end
00:00:37 verbose #2234 > > #if FABLE_COMPILER
00:00:37 verbose #2235 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:00:37 verbose #2236 > > #endif
00:00:37 verbose #2237 > > type Mut<'T> = class end
00:00:37 verbose #2238 > > #if FABLE_COMPILER
00:00:37 verbose #2239 > > [[<Fable.Core.Erase; Fable.Co...
00:00:38 verbose #2240 > >
00:00:38 verbose #2241 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:38 verbose #2242 > > #if FABLE_COMPILER
00:00:38 verbose #2243 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:00:38 verbose #2244 > > #endif
00:00:38 verbose #2245 > > type async_std_task_JoinHandle<'T> = class end
00:00:38 verbose #2246 > > #if FABLE_COMPILER
00:00:38 verbose #2247 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:00:38 verbose #2248 > > #endif
00:00:38 verbose #2249 > > type std_future_Future<'T> = class end
00:00:38 verbose #2250 > > #if FABLE_COMPILER
00:00:38 verbose #2251 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:00:38 verbose #2252 > > #endif
00:00:38 verbose #2253 > > type rayon_vec_IntoIter<'T> = class end
00:00:38 verbose #2254 > > #if FABLE_COMPILER
00:00:38 verbose #2255 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:00:38 verbose #2256 > > #endif
00:00:38 verbose #2257 > > type rayon_iter_Map<'T> = class end
00:00:38 verbose #2258 > > #if FABLE_COMPILER
00:00:38 verbose #2259 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:00:38 verbose #2260 > > #endif
00:00:38 verbose #2261 > > type futures_lite_stream_StreamExt = class end
00:00:38 verbose #2262 > > #if FABLE_COMPILER
00:00:38 verbose #2263 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:00:38 verbose #2264 > > #endif
00:00:38 verbose #2265 > > type futures_future_TryJoinAll<'T> = class end
00:00:38 verbose #2266 > > #if FABLE_COMPILER
00:00:38 verbose #2267 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:00:38 verbose #2268 > > #endif
00:00:38 verbose #2269 > > type futures_future_Fuse<'T> = class end
00:00:38 verbose #2270 > > #if FABLE_COMPILER
00:00:38 verbose #2271 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:00:38 verbose #2272 > > #endif
00:00:38 verbose #2273 > > type futures_future_JoinAll<'T> = class end
00:00:38 verbose #2274 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:00:38 verbose #2275 > > Async<System.Threading.CancellationToken> =
00:00:38 verbose #2276 > > let v1 : bool = true
00:00:38 verbose #2277 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:00:38 verbose #2278 > >
00:00:38 verbose #2279 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:38 verbose #2280 > >
00:00:38 verbose #2281 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:00:38 verbose #2282 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:00:38 verbose #2283 > > unbox<Async<System...
00:00:38 verbose #2284 > >
00:00:38 verbose #2285 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:38 verbose #2286 > > #if FABLE_COMPILER
00:00:38 verbose #2287 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:00:38 verbose #2288 > > #endif
00:00:38 verbose #2289 > > type std_thread_JoinHandle<'T> = class end
00:00:38 verbose #2290 > > #if FABLE_COMPILER
00:00:38 verbose #2291 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:00:38 verbose #2292 > > #endif
00:00:38 verbose #2293 > > type std_sync_Arc<'T> = class end
00:00:38 verbose #2294 > > #if FABLE_COMPILER
00:00:38 verbose #2295 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:00:38 verbose #2296 > > #endif
00:00:38 verbose #2297 > > type std_sync_Mutex<'T> = class end
00:00:38 verbose #2298 > > #if FABLE_COMPILER
00:00:38 verbose #2299 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:00:38 verbose #2300 > > #endif
00:00:38 verbose #2301 > > type std_sync_MutexGuard<'T> = class end
00:00:38 verbose #2302 > > #if FABLE_COMPILER
00:00:38 verbose #2303 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:00:38 verbose #2304 > > #endif
00:00:38 verbose #2305 > > type std_sync_PoisonError<'T> = class end
00:00:38 verbose #2306 > > #if FABLE_COMPILER
00:00:38 verbose #2307 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:00:38 verbose #2308 > > #endif
00:00:38 verbose #2309 > > type std_sync_mpsc_Receiver<'T> = class end
00:00:38 verbose #2310 > > #if FABLE_COMPILER
00:00:38 verbose #2311 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:00:38 verbose #2312 > > #endif
00:00:38 verbose #2313 > > type std_sync_mpsc_SendError<'T> = class end
00:00:38 verbose #2314 > > #if FABLE_COMPILER
00:00:38 verbose #2315 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:00:38 verbose #2316 > > #endif
00:00:38 verbose #2317 > > type std_sync_mpsc_Sender<'T> = class end
00:00:38 verbose #2318 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:00:38 verbose #2319 > > _.Dispose () = f ()
00:00:38 verbose #2320 > > type [[<Struct>]] US0 =
00:00:38 verbose #2321 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:00:38 verbose #2322 > > | US0_1
00:00:38 verbose #2323 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:00:38 verbose #2324 > > let v1 : bool = true
00:00:38 verbose #2325 > > let mutable _v1 : unit option = None
00:00:38 verbose #2326 > >
00:00:38 verbose #2327 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:38 verbose #2328 > >
00:00:38 verbose #2329 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:00:38 verbose #2330 > >
00:00:38 verbose #2331 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:38 verbose #2332 > > #if FABLE_COMPILER
00:00:38 verbose #2333 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:00:38 verbose #2334 > > #endif
00:00:38 verbose #2335 > > type reqwest_Error = class end
00:00:38 verbose #2336 > > #if FABLE_COMPILER
00:00:38 verbose #2337 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:00:38 verbose #2338 > > #endif
00:00:38 verbose #2339 > > type reqwest_RequestBuilder = class end
00:00:38 verbose #2340 > > #if FABLE_COMPILER
00:00:38 verbose #2341 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:00:38 verbose #2342 > > #endif
00:00:38 verbose #2343 > > type reqwest_Response = class end
00:00:38 verbose #2344 > > #if FABLE_COMPILER
00:00:38 verbose #2345 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:38 verbose #2346 > > #endif
00:00:38 verbose #2347 > > type std_env_VarError = class end
00:00:38 verbose #2348 > > #if FABLE_COMPILER
00:00:38 verbose #2349 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:38 verbose #2350 > > #endif
00:00:38 verbose #2351 > > type core_any_Any = class end
00:00:38 verbose #2352 > > #if FABLE_COMPILER
00:00:38 verbose #2353 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:38 verbose #2354 > > #endif
00:00:38 verbose #2355 > > type core_ops_Try<'T> = class end
00:00:38 verbose #2356 > > #if FABLE_COMPILER
00:00:38 verbose #2357 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:38 verbose #2358 > > #endif
00:00:38 verbose #2359 > > type Func0<'T> = class end
00:00:38 verbose #2360 > > #if FABLE_COMPILER
00:00:38 verbose #2361 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:38 verbose #2362 > > #endif
00:00:38 verbose #2363 > > type Func0<'T, 'U> = class end
00:00:38 verbose #2364 > > #if FABLE_COMPILER
00:00:38 verbose #2365 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:38 verbose #2366 > > #endif
00:00:38 verbose #2367 > > type Box<'T> = class end
00:00:38 verbose #2368 > > #if FABLE_COMPILER
00:00:38 verbose #2369 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:38 verbose #2370 > > #endif
00:00:38 verbose #2371 > > type Dyn<'T> = class end
00:00:38 verbose #2372 > > #if FABLE_COMPILER
00:00:38 verbose #2373 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:38 verbose #2374 > > #endif
00:00:38 verbose #2375 > > type Send<'T> = class end
00:00:38 verbose #2376 > > #if FABLE_COMPILER
00:00:38 verbose #2377 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:38 verbose #2378 > > #endif
00:00:38 verbose #2379 > > type Fn<'T> = class end
00:00:38 verbose #2380 > > #if FABLE_COMPILER
00:00:38 verbose #2381 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:38 verbose #2382 > > #endif
00:00:38 verbose #2383 > > type FnUnit = class end
00:00:38 verbose #2384 > > #if FABLE_COMPILER
00:00:38 verbose #2385 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:38 verbose #2386 > > #...
00:00:39 verbose #2387 > >
00:00:39 verbose #2388 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:39 verbose #2389 > > #if FABLE_COMPILER
00:00:39 verbose #2390 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:00:39 verbose #2391 > > #endif
00:00:39 verbose #2392 > > type clap_Arg = class end
00:00:39 verbose #2393 > > #if FABLE_COMPILER
00:00:39 verbose #2394 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:00:39 verbose #2395 > > #endif
00:00:39 verbose #2396 > > type clap_ArgAction = class end
00:00:39 verbose #2397 > > #if FABLE_COMPILER
00:00:39 verbose #2398 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:00:39 verbose #2399 > > #endif
00:00:39 verbose #2400 > > type clap_Command = class end
00:00:39 verbose #2401 > > #if FABLE_COMPILER
00:00:39 verbose #2402 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:00:39 verbose #2403 > > #endif
00:00:39 verbose #2404 > > type clap_ArgMatches = class end
00:00:39 verbose #2405 > > #if FABLE_COMPILER
00:00:39 verbose #2406 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:00:39 verbose #2407 > > #endif
00:00:39 verbose #2408 > > type clap_builder_ValueRange = class end
00:00:39 verbose #2409 > > #if FABLE_COMPILER
00:00:39 verbose #2410 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:00:39 verbose #2411 > > #endif
00:00:39 verbose #2412 > > type clap_builder_ValueParser = class end
00:00:39 verbose #2413 > > #if FABLE_COMPILER
00:00:39 verbose #2414 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:00:39 verbose #2415 > > #endif
00:00:39 verbose #2416 > > type clap_builder_PossibleValue = class end
00:00:39 verbose #2417 > > #if FABLE_COMPILER
00:00:39 verbose #2418 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:00:39 verbose #2419 > > #endif
00:00:39 verbose #2420 > > type std_process_Child = class end
00:00:39 verbose #2421 > > #if FABLE_COMPILER
00:00:39 verbose #2422 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:00:39 verbose #2423 > > #endif
00:00:39 verbose #2424 > > type std_process_ChildStderr = class end
00:00:39 verbose #2425 > > #if FABLE_COMPILER
00:00:39 verbose #2426 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:00:39 verbose #2427 > > #endif
00:00:39 verbose #2428 > > type std_process_ChildStdout = class end
00:00:39 verbose #2429 > > #if FABLE_COMPILER
00:00:39 verbose #2430 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:00:39 verbose #2431 > > #endif
00:00:39 verbose #2432 > > type std_process_ChildStdin = class end
00:00:39 verbose #2433 > > #if FABLE_COMPILER
00:00:39 verbose #2434 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:00:39 verbose #2435 > > #endif
00:00:39 verbose #2436 > > type std_process_Command = class ...
00:00:41 verbose #2437 > >
00:00:41 verbose #2438 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:41 verbose #2439 > > #if FABLE_COMPILER
00:00:41 verbose #2440 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:00:41 verbose #2441 > > #endif
00:00:41 verbose #2442 > > type std_fs_File = class end
00:00:41 verbose #2443 > > #if FABLE_COMPILER
00:00:41 verbose #2444 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:00:41 verbose #2445 > > #endif
00:00:41 verbose #2446 > > type std_fs_FileType = class end
00:00:41 verbose #2447 > > #if FABLE_COMPILER
00:00:41 verbose #2448 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:00:41 verbose #2449 > > #endif
00:00:41 verbose #2450 > > type std_path_Display = class end
00:00:41 verbose #2451 > > #if FABLE_COMPILER
00:00:41 verbose #2452 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:00:41 verbose #2453 > > #endif
00:00:41 verbose #2454 > > type std_path_Path = class end
00:00:41 verbose #2455 > > #if FABLE_COMPILER
00:00:41 verbose #2456 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:00:41 verbose #2457 > > #endif
00:00:41 verbose #2458 > > type std_path_PathBuf = class end
00:00:41 verbose #2459 > > #if FABLE_COMPILER
00:00:41 verbose #2460 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:00:41 verbose #2461 > > #endif
00:00:41 verbose #2462 > > type async_walkdir_DirEntry = class end
00:00:41 verbose #2463 > > #if FABLE_COMPILER
00:00:41 verbose #2464 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:00:41 verbose #2465 > > #endif
00:00:41 verbose #2466 > > type async_walkdir_Filtering = class end
00:00:41 verbose #2467 > > #if FABLE_COMPILER
00:00:41 verbose #2468 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:00:41 verbose #2469 > > #endif
00:00:41 verbose #2470 > > type async_walkdir_WalkDir = class end
00:00:41 verbose #2471 > > #if FABLE_COMPILER
00:00:41 verbose #2472 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:41 verbose #2473 > > #endif
00:00:41 verbose #2474 > > type core_any_Any = class end
00:00:41 verbose #2475 > > #if FABLE_COMPILER
00:00:41 verbose #2476 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:41 verbose #2477 > > #endif
00:00:41 verbose #2478 > > type core_ops_Try<'T> = class end
00:00:41 verbose #2479 > > #if FABLE_COMPILER
00:00:41 verbose #2480 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:41 verbose #2481 > > #endif
00:00:41 verbose #2482 > > type Func0<'T> = class end
00:00:41 verbose #2483 > > #if FABLE_COMPILER
00:00:41 verbose #2484 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:41 verbose #2485 > > #endif
00:00:41 verbose #2486 > > type Func0<'T, 'U> = class end
00:00:41 verbose #2487 > > #if FABLE_COMPILER
00:00:41 verbose #2488 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:41 verbose #2489 > > #endif
00:00:41 verbose #2490 > > type Box<'T> = clas...
00:00:43 verbose #2491 > >
00:00:43 verbose #2492 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:43 verbose #2493 > > module SpiralTrace =
00:00:43 verbose #2494 > > let trace x =
00:00:43 verbose #2495 > > #if !INTERACTIVE
00:00:43 verbose #2496 > > Trace.trace x
00:00:43 verbose #2497 > > #else
00:00:43 verbose #2498 > > trace x
00:00:43 verbose #2499 > > #endif
00:00:43 verbose #2500 > >
00:00:43 verbose #2501 > > type TraceLevel =
00:00:43 verbose #2502 > > #if !INTERACTIVE
00:00:43 verbose #2503 > > Trace.US0
00:00:43 verbose #2504 > > #else
00:00:43 verbose #2505 > > US0
00:00:43 verbose #2506 > > #endif
00:00:43 verbose #2507 > >
00:00:43 verbose #2508 > > module SpiralCrypto =
00:00:43 verbose #2509 > > let hash_text x =
00:00:43 verbose #2510 > > #if !INTERACTIVE
00:00:43 verbose #2511 > > Crypto.hash_text x
00:00:43 verbose #2512 > > #else
00:00:43 verbose #2513 > > hash_text x
00:00:43 verbose #2514 > > #endif
00:00:43 verbose #2515 > >
00:00:43 verbose #2516 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:00:43 verbose #2517 > >
00:00:43 verbose #2518 > > module SpiralAsync =
00:00:43 verbose #2519 > > let merge_cancellation_token_with_default_async x =
00:00:43 verbose #2520 > > #if !INTERACTIVE
00:00:43 verbose #2521 > > Async_.merge_cancellation_token_with_default_async x
00:00:43 verbose #2522 > > #else
00:00:43 verbose #2523 > > merge_cancellation_token_with_default_async x
00:00:43 verbose #2524 > > #endif
00:00:43 verbose #2525 > >
00:00:43 verbose #2526 > > module SpiralThreading =
00:00:43 verbose #2527 > > let new_disposable_token x =
00:00:43 verbose #2528 > > #if !INTERACTIVE
00:00:43 verbose #2529 > > Threading.new_disposable_token x
00:00:43 verbose #2530 > > #else
00:00:43 verbose #2531 > > new_disposable_token x
00:00:43 verbose #2532 > > #endif
00:00:43 verbose #2533 > >
00:00:43 verbose #2534 > > module SpiralNetworking =
00:00:43 verbose #2535 > > let test_port_open x =
00:00:43 verbose #2536 > > #if !INTERACTIVE
00:00:43 verbose #2537 > > Networking.test_port_open x
00:00:43 verbose #2538 > > #else
00:00:43 verbose #2539 > > test_port_open x
00:00:43 verbose #2540 > > #endif
00:00:43 verbose #2541 > >
00:00:43 verbose #2542 > > let test_port_open_timeout x =
00:00:43 verbose #2543 > > #if !INTERACTIVE
00:00:43 verbose #2544 > > Networking.test_port_open_timeout x
00:00:43 verbose #2545 > > #else
00:00:43 verbose #2546 > > test_port_open_timeout x
00:00:43 verbose #2547 > > #endif
00:00:43 verbose #2548 > >
00:00:43 verbose #2549 > > let wait_for_port_access x =
00:00:43 verbose #2550 > > #if !INTERACTIVE
00:00:43 verbose #2551 > > Networking.wait_for_port_access x
00:00:43 verbose #2552 > > #else
00:00:43 verbose #2553 > > wait_for_port_access x
00:00:43 verbose #2554 > > #endif
00:00:43 verbose #2555 > >
00:00:43 verbose #2556 > > let get_available_port x =
00:00:43 verbose #2557 > > #if !INTERACTIVE
00:00:43 verbose #2558 > > Networking.get_available_port x
00:00:43 verbose #2559 > > #else
00:00:43 verbose #2560 > > get_available_port x
00:00:43 verbose #2561 > > #endif
00:00:43 verbose #2562 > >
00:00:43 verbose #2563 > > module SpiralRuntime =
00:00:43 verbose #2564 > > let get_executable_suffix () =
00:00:43 verbose #2565 > > #if !INTERACTIVE
00:00:43 verbose #2566 > > Runtime.get_executable_suffix ()
00:00:43 verbose #2567 > > #else
00:00:43 verbose #2568 > > get_executable_suffix ()
00:00:43 verbose #2569 > > #endif
00:00:43 verbose #2570 > >
00:00:43 verbose #2571 > > let is_windows () =
00:00:43 verbose #2572 > > #if !INTERACTIVE
00:00:43 verbose #2573 > > ...
00:00:43 verbose #2574 > >
00:00:43 verbose #2575 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:43 verbose #2576 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:00:43 verbose #2577 > >
00:00:43 verbose #2578 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:43 verbose #2579 > > //// test
00:00:43 verbose #2580 > >
00:00:43 verbose #2581 > > type AssertExceptionFormatter (ex) =
00:00:43 verbose #2582 > > member _.Text =
00:00:43 verbose #2583 > > ex.ToString()
00:00:43 verbose #2584 > > .Replace("32m", "<span style=\"color: green;\">")
00:00:43 verbose #2585 > > .Replace("36m", "</span>")
00:00:43 verbose #2586 > > .Replace("31m", "<span style=\"color: red;\">")
00:00:43 verbose #2587 > > .Replace("\n", "<br/>\n")
00:00:43 verbose #2588 > >
00:00:43 verbose #2589 > >
00:00:43 verbose #2590 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:00:43 verbose #2591 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:00:43 verbose #2592 > >
00:00:43 verbose #2593 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:43 verbose #2594 > > //// test
00:00:43 verbose #2595 > >
00:00:43 verbose #2596 > > let inline __expect fn log expected actual =
00:00:43 verbose #2597 > > if log then printfn $"{actual.ToDisplayString ()}"
00:00:43 verbose #2598 > > try
00:00:43 verbose #2599 > > "Testing.__expect" |> fn actual expected
00:00:43 verbose #2600 > > with :? Expecto.AssertException as ex ->
00:00:43 verbose #2601 > > AssertExceptionFormatter(ex).Display () |> ignore
00:00:43 verbose #2602 > > failwith (ex.GetType().FullName)
00:00:43 verbose #2603 > >
00:00:43 verbose #2604 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:00:43 verbose #2605 > > expected actual
00:00:43 verbose #2606 > > let inline _contains expected actual = __contains true expected actual
00:00:43 verbose #2607 > >
00:00:43 verbose #2608 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:00:43 verbose #2609 > > expected actual
00:00:43 verbose #2610 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:00:43 verbose #2611 > >
00:00:43 verbose #2612 > > let inline __isGreaterThan log expected actual = __expect
00:00:43 verbose #2613 > > Expecto.Expect.isGreaterThan log expected actual
00:00:43 verbose #2614 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:00:43 verbose #2615 > >
00:00:43 verbose #2616 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:00:43 verbose #2617 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:00:43 verbose #2618 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:00:43 verbose #2619 > > expected actual
00:00:43 verbose #2620 > >
00:00:43 verbose #2621 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:00:43 verbose #2622 > > log expected actual
00:00:43 verbose #2623 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:00:43 verbose #2624 > >
00:00:43 verbose #2625 > > let inline __isLessThanOrEqual log expected actual = __expect
00:00:43 verbose #2626 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:00:43 verbose #2627 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:00:43 verbose #2628 > > expected actual
00:00:43 verbose #2629 > >
00:00:43 verbose #2630 > > let inline __sequenceEqual log expected actual = __expe...
00:00:43 verbose #2631 > >
00:00:43 verbose #2632 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:43 verbose #2633 > > //// test
00:00:43 verbose #2634 > >
00:00:43 verbose #2635 > > let inline __isBetween log a b actual =
00:00:43 verbose #2636 > > let inline isBetween actual (a, b) _ =
00:00:43 verbose #2637 > > __isGreaterThanOrEqual log a actual
00:00:43 verbose #2638 > > __isLessThanOrEqual log b actual
00:00:43 verbose #2639 > > __expect isBetween log (a, b) actual
00:00:43 verbose #2640 > > let inline _isBetween a b actual = __isBetween true a b actual
00:00:43 verbose #2641 > >
00:00:43 verbose #2642 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:43 verbose #2643 > > #if !INTERACTIVE
00:00:43 verbose #2644 > > open Lib
00:00:43 verbose #2645 > > #endif
00:00:43 verbose #2646 > >
00:00:43 verbose #2647 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:43 verbose #2648 > > let nl = System.Environment.NewLine
00:00:43 verbose #2649 > > let q = @""""
00:00:43 verbose #2650 > >
00:00:43 verbose #2651 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:43 verbose #2652 > > let inline cons head tail = head :: tail
00:00:43 verbose #2653 > >
00:00:43 verbose #2654 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:43 verbose #2655 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:43 verbose #2656 > > │ ## memoize │
00:00:43 verbose #2657 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:43 verbose #2658 > >
00:00:43 verbose #2659 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:43 verbose #2660 > > let inline memoize fn =
00:00:43 verbose #2661 > > let result = lazy fn ()
00:00:43 verbose #2662 > > fun () -> result.Value
00:00:43 verbose #2663 > >
00:00:43 verbose #2664 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:43 verbose #2665 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:43 verbose #2666 > > │ ## TraceLevel │
00:00:43 verbose #2667 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:43 verbose #2668 > >
00:00:43 verbose #2669 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:43 verbose #2670 > > type TraceLevel =
00:00:43 verbose #2671 > > | Verbose
00:00:43 verbose #2672 > > | Debug
00:00:43 verbose #2673 > > | Info
00:00:43 verbose #2674 > > | Warning
00:00:43 verbose #2675 > > | Critical
00:00:43 verbose #2676 > >
00:00:43 verbose #2677 > > let inline _locals () = ""
00:00:43 verbose #2678 > >
00:00:43 verbose #2679 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:43 verbose #2680 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:43 verbose #2681 > > │ ## trace │
00:00:43 verbose #2682 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:43 verbose #2683 > >
00:00:43 verbose #2684 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:43 verbose #2685 > > let to_trace_level = function
00:00:43 verbose #2686 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:00:43 verbose #2687 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:00:43 verbose #2688 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:00:43 verbose #2689 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:00:43 verbose #2690 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:00:43 verbose #2691 > >
00:00:43 verbose #2692 > > let trace level fn locals =
00:00:43 verbose #2693 > > let level = level |> to_trace_level
00:00:43 verbose #2694 > > SpiralTrace.trace level fn locals
00:00:43 verbose #2695 > >
00:00:43 verbose #2696 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:43 verbose #2697 > > //// test
00:00:43 verbose #2698 > >
00:00:43 verbose #2699 > > trace Debug (fun () -> "test") _locals
00:00:43 verbose #2700 > >
00:00:43 verbose #2701 > > ╭─[ 14.91ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:43 verbose #2702 > > │ 00:00:00 debug #1 test │
00:00:43 verbose #2703 > > │ │
00:00:43 verbose #2704 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:43 verbose #2705 > 00:00:11 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 20819
00:00:43 verbose #2706 > 00:00:11 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:00:44 verbose #2707 > 00:00:12 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb to html
00:00:44 verbose #2708 > 00:00:12 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:44 verbose #2709 > 00:00:12 verbose #7 ! validate(nb)
00:00:44 verbose #2710 > 00:00:12 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:44 verbose #2711 > 00:00:12 verbose #9 ! return _pygments_highlight(
00:00:44 verbose #2712 > 00:00:12 verbose #10 ! [NbConvertApp] Writing 280691 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.html
00:00:44 verbose #2713 > 00:00:12 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 896
00:00:44 verbose #2714 > 00:00:12 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 896
00:00:44 verbose #2715 > 00:00:12 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:00:45 verbose #2716 > 00:00:13 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:00:45 verbose #2717 > 00:00:13 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:00:45 verbose #2718 > 00:00:13 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 21774
00:00:45 debug #2719 execute_with_options_async / exit_code: 0 / output.Length: 25437
00:00:45 debug #5 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Common.dib --retries 3
00:00:45 debug #2720 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path CommonFSharp.dib --retries 3",
[||], None, None, true, None)
00:00:45 verbose #2721 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "CommonFSharp.dib", "--retries", "3"])
00:00:45 verbose #2722 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:46 verbose #2723 > >
00:00:46 verbose #2724 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:46 verbose #2725 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:46 verbose #2726 > > │ # CommonFSharp (Polyglot) │
00:00:46 verbose #2727 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:46 verbose #2728 > >
00:00:46 verbose #2729 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:46 verbose #2730 > > #!import ../../lib/fsharp/Notebooks.dib
00:00:46 verbose #2731 > > #!import ../../lib/fsharp/Testing.dib
00:00:46 verbose #2732 > >
00:00:46 verbose #2733 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:46 verbose #2734 > > #r
00:00:46 verbose #2735 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:00:46 verbose #2736 > > NetCore.Html.Abstractions.dll"
00:00:46 verbose #2737 > > #r
00:00:46 verbose #2738 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:46 verbose #2739 > > Net.Interactive.dll"
00:00:46 verbose #2740 > > #r
00:00:46 verbose #2741 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:46 verbose #2742 > > Net.Interactive.FSharp.dll"
00:00:46 verbose #2743 > > #r
00:00:46 verbose #2744 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:46 verbose #2745 > > Net.Interactive.Formatting.dll"
00:00:46 verbose #2746 > > open System
00:00:46 verbose #2747 > > open System.IO
00:00:46 verbose #2748 > > open System.Text
00:00:46 verbose #2749 > > open Microsoft.DotNet.Interactive.Formatting
00:00:48 verbose #2750 > >
00:00:48 verbose #2751 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:48 verbose #2752 > > #r
00:00:48 verbose #2753 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:48 verbose #2754 > > Net.Interactive.FSharp.dll"
00:00:48 verbose #2755 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:48 verbose #2756 > > #r
00:00:48 verbose #2757 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:48 verbose #2758 > > Net.Interactive.dll"
00:00:48 verbose #2759 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:48 verbose #2760 > >
00:00:48 verbose #2761 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:48 verbose #2762 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:00:49 verbose #2763 > >
00:00:49 verbose #2764 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:49 verbose #2765 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:00:49 verbose #2766 > > TextWriter)->fprintfn writer "%120A" x)
00:00:49 verbose #2767 > >
00:00:49 verbose #2768 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:49 verbose #2769 > > //// test
00:00:49 verbose #2770 > >
00:00:49 verbose #2771 > > Formatter.ListExpansionLimit <- 100
00:00:49 verbose #2772 > >
00:00:49 verbose #2773 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:49 verbose #2774 > > #if FABLE_COMPILER
00:00:49 verbose #2775 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:49 verbose #2776 > > #endif
00:00:49 verbose #2777 > > type std_env_VarError = class end
00:00:49 verbose #2778 > > #if FABLE_COMPILER
00:00:49 verbose #2779 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:49 verbose #2780 > > #endif
00:00:49 verbose #2781 > > type core_any_Any = class end
00:00:49 verbose #2782 > > #if FABLE_COMPILER
00:00:49 verbose #2783 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:49 verbose #2784 > > #endif
00:00:49 verbose #2785 > > type core_ops_Try<'T> = class end
00:00:49 verbose #2786 > > #if FABLE_COMPILER
00:00:49 verbose #2787 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:49 verbose #2788 > > #endif
00:00:49 verbose #2789 > > type Func0<'T> = class end
00:00:49 verbose #2790 > > #if FABLE_COMPILER
00:00:49 verbose #2791 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:49 verbose #2792 > > #endif
00:00:49 verbose #2793 > > type Func0<'T, 'U> = class end
00:00:49 verbose #2794 > > #if FABLE_COMPILER
00:00:49 verbose #2795 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:49 verbose #2796 > > #endif
00:00:49 verbose #2797 > > type Box<'T> = class end
00:00:49 verbose #2798 > > #if FABLE_COMPILER
00:00:49 verbose #2799 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:49 verbose #2800 > > #endif
00:00:49 verbose #2801 > > type Dyn<'T> = class end
00:00:49 verbose #2802 > > #if FABLE_COMPILER
00:00:49 verbose #2803 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:49 verbose #2804 > > #endif
00:00:49 verbose #2805 > > type Send<'T> = class end
00:00:49 verbose #2806 > > #if FABLE_COMPILER
00:00:49 verbose #2807 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:49 verbose #2808 > > #endif
00:00:49 verbose #2809 > > type Fn<'T> = class end
00:00:49 verbose #2810 > > #if FABLE_COMPILER
00:00:49 verbose #2811 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:49 verbose #2812 > > #endif
00:00:49 verbose #2813 > > type FnUnit = class end
00:00:49 verbose #2814 > > #if FABLE_COMPILER
00:00:49 verbose #2815 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:49 verbose #2816 > > #endif
00:00:49 verbose #2817 > > type FnOnce<'T> = class end
00:00:49 verbose #2818 > > #if FABLE_COMPILER
00:00:49 verbose #2819 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:49 verbose #2820 > > #endif
00:00:49 verbose #2821 > > type ActionFn<'T> = class end
00:00:49 verbose #2822 > > #if FABLE_COMPILER
00:00:49 verbose #2823 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:49 verbose #2824 > > #endif
00:00:49 verbose #2825 > > type ActionFn2<'T, 'U> = class end
00:00:49 verbose #2826 > > #if FABLE_COMPILER
00:00:49 verbose #2827 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:49 verbose #2828 > > #endif
00:00:49 verbose #2829 > > type Impl<'T> = class end
00:00:49 verbose #2830 > > #if FABLE_COMPILER
00:00:49 verbose #2831 > > [[<Fable...
00:00:50 verbose #2832 > >
00:00:50 verbose #2833 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:50 verbose #2834 > > #if FABLE_COMPILER
00:00:50 verbose #2835 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:50 verbose #2836 > > #endif
00:00:50 verbose #2837 > > type core_any_Any = class end
00:00:50 verbose #2838 > > #if FABLE_COMPILER
00:00:50 verbose #2839 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:50 verbose #2840 > > #endif
00:00:50 verbose #2841 > > type core_ops_Try<'T> = class end
00:00:50 verbose #2842 > > #if FABLE_COMPILER
00:00:50 verbose #2843 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:50 verbose #2844 > > #endif
00:00:50 verbose #2845 > > type Func0<'T> = class end
00:00:50 verbose #2846 > > #if FABLE_COMPILER
00:00:50 verbose #2847 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:50 verbose #2848 > > #endif
00:00:50 verbose #2849 > > type Func0<'T, 'U> = class end
00:00:50 verbose #2850 > > #if FABLE_COMPILER
00:00:50 verbose #2851 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:50 verbose #2852 > > #endif
00:00:50 verbose #2853 > > type Box<'T> = class end
00:00:50 verbose #2854 > > #if FABLE_COMPILER
00:00:50 verbose #2855 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:50 verbose #2856 > > #endif
00:00:50 verbose #2857 > > type Dyn<'T> = class end
00:00:50 verbose #2858 > > #if FABLE_COMPILER
00:00:50 verbose #2859 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:50 verbose #2860 > > #endif
00:00:50 verbose #2861 > > type Send<'T> = class end
00:00:50 verbose #2862 > > #if FABLE_COMPILER
00:00:50 verbose #2863 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:50 verbose #2864 > > #endif
00:00:50 verbose #2865 > > type Fn<'T> = class end
00:00:50 verbose #2866 > > #if FABLE_COMPILER
00:00:50 verbose #2867 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:50 verbose #2868 > > #endif
00:00:50 verbose #2869 > > type FnUnit = class end
00:00:50 verbose #2870 > > #if FABLE_COMPILER
00:00:50 verbose #2871 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:50 verbose #2872 > > #endif
00:00:50 verbose #2873 > > type FnOnce<'T> = class end
00:00:50 verbose #2874 > > #if FABLE_COMPILER
00:00:50 verbose #2875 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:50 verbose #2876 > > #endif
00:00:50 verbose #2877 > > type ActionFn<'T> = class end
00:00:50 verbose #2878 > > #if FABLE_COMPILER
00:00:50 verbose #2879 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:50 verbose #2880 > > #endif
00:00:50 verbose #2881 > > type ActionFn2<'T, 'U> = class end
00:00:50 verbose #2882 > > #if FABLE_COMPILER
00:00:50 verbose #2883 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:50 verbose #2884 > > #endif
00:00:50 verbose #2885 > > type Impl<'T> = class end
00:00:50 verbose #2886 > > #if FABLE_COMPILER
00:00:50 verbose #2887 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:00:50 verbose #2888 > > #endif
00:00:50 verbose #2889 > > type Mut<'T> = class end
00:00:50 verbose #2890 > > #if FABLE_COMPILER
00:00:50 verbose #2891 > > [[<Fable.Core.Erase; Fable.Co...
00:00:51 verbose #2892 > >
00:00:51 verbose #2893 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:51 verbose #2894 > > #if FABLE_COMPILER
00:00:51 verbose #2895 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:00:51 verbose #2896 > > #endif
00:00:51 verbose #2897 > > type async_std_task_JoinHandle<'T> = class end
00:00:51 verbose #2898 > > #if FABLE_COMPILER
00:00:51 verbose #2899 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:00:51 verbose #2900 > > #endif
00:00:51 verbose #2901 > > type std_future_Future<'T> = class end
00:00:51 verbose #2902 > > #if FABLE_COMPILER
00:00:51 verbose #2903 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:00:51 verbose #2904 > > #endif
00:00:51 verbose #2905 > > type rayon_vec_IntoIter<'T> = class end
00:00:51 verbose #2906 > > #if FABLE_COMPILER
00:00:51 verbose #2907 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:00:51 verbose #2908 > > #endif
00:00:51 verbose #2909 > > type rayon_iter_Map<'T> = class end
00:00:51 verbose #2910 > > #if FABLE_COMPILER
00:00:51 verbose #2911 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:00:51 verbose #2912 > > #endif
00:00:51 verbose #2913 > > type futures_lite_stream_StreamExt = class end
00:00:51 verbose #2914 > > #if FABLE_COMPILER
00:00:51 verbose #2915 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:00:51 verbose #2916 > > #endif
00:00:51 verbose #2917 > > type futures_future_TryJoinAll<'T> = class end
00:00:51 verbose #2918 > > #if FABLE_COMPILER
00:00:51 verbose #2919 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:00:51 verbose #2920 > > #endif
00:00:51 verbose #2921 > > type futures_future_Fuse<'T> = class end
00:00:51 verbose #2922 > > #if FABLE_COMPILER
00:00:51 verbose #2923 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:00:51 verbose #2924 > > #endif
00:00:51 verbose #2925 > > type futures_future_JoinAll<'T> = class end
00:00:51 verbose #2926 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:00:51 verbose #2927 > > Async<System.Threading.CancellationToken> =
00:00:51 verbose #2928 > > let v1 : bool = true
00:00:51 verbose #2929 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:00:51 verbose #2930 > >
00:00:51 verbose #2931 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:51 verbose #2932 > >
00:00:51 verbose #2933 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:00:51 verbose #2934 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:00:51 verbose #2935 > > unbox<Async<System...
00:00:51 verbose #2936 > >
00:00:51 verbose #2937 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:51 verbose #2938 > > #if FABLE_COMPILER
00:00:51 verbose #2939 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:00:51 verbose #2940 > > #endif
00:00:51 verbose #2941 > > type std_thread_JoinHandle<'T> = class end
00:00:51 verbose #2942 > > #if FABLE_COMPILER
00:00:51 verbose #2943 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:00:51 verbose #2944 > > #endif
00:00:51 verbose #2945 > > type std_sync_Arc<'T> = class end
00:00:51 verbose #2946 > > #if FABLE_COMPILER
00:00:51 verbose #2947 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:00:51 verbose #2948 > > #endif
00:00:51 verbose #2949 > > type std_sync_Mutex<'T> = class end
00:00:51 verbose #2950 > > #if FABLE_COMPILER
00:00:51 verbose #2951 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:00:51 verbose #2952 > > #endif
00:00:51 verbose #2953 > > type std_sync_MutexGuard<'T> = class end
00:00:51 verbose #2954 > > #if FABLE_COMPILER
00:00:51 verbose #2955 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:00:51 verbose #2956 > > #endif
00:00:51 verbose #2957 > > type std_sync_PoisonError<'T> = class end
00:00:51 verbose #2958 > > #if FABLE_COMPILER
00:00:51 verbose #2959 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:00:51 verbose #2960 > > #endif
00:00:51 verbose #2961 > > type std_sync_mpsc_Receiver<'T> = class end
00:00:51 verbose #2962 > > #if FABLE_COMPILER
00:00:51 verbose #2963 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:00:51 verbose #2964 > > #endif
00:00:51 verbose #2965 > > type std_sync_mpsc_SendError<'T> = class end
00:00:51 verbose #2966 > > #if FABLE_COMPILER
00:00:51 verbose #2967 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:00:51 verbose #2968 > > #endif
00:00:51 verbose #2969 > > type std_sync_mpsc_Sender<'T> = class end
00:00:51 verbose #2970 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:00:51 verbose #2971 > > _.Dispose () = f ()
00:00:51 verbose #2972 > > type [[<Struct>]] US0 =
00:00:51 verbose #2973 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:00:51 verbose #2974 > > | US0_1
00:00:51 verbose #2975 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:00:51 verbose #2976 > > let v1 : bool = true
00:00:51 verbose #2977 > > let mutable _v1 : unit option = None
00:00:51 verbose #2978 > >
00:00:51 verbose #2979 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:51 verbose #2980 > >
00:00:51 verbose #2981 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:00:51 verbose #2982 > >
00:00:51 verbose #2983 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:51 verbose #2984 > > #if FABLE_COMPILER
00:00:51 verbose #2985 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:00:51 verbose #2986 > > #endif
00:00:51 verbose #2987 > > type reqwest_Error = class end
00:00:51 verbose #2988 > > #if FABLE_COMPILER
00:00:51 verbose #2989 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:00:51 verbose #2990 > > #endif
00:00:51 verbose #2991 > > type reqwest_RequestBuilder = class end
00:00:51 verbose #2992 > > #if FABLE_COMPILER
00:00:51 verbose #2993 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:00:51 verbose #2994 > > #endif
00:00:51 verbose #2995 > > type reqwest_Response = class end
00:00:51 verbose #2996 > > #if FABLE_COMPILER
00:00:51 verbose #2997 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:51 verbose #2998 > > #endif
00:00:51 verbose #2999 > > type std_env_VarError = class end
00:00:51 verbose #3000 > > #if FABLE_COMPILER
00:00:51 verbose #3001 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:51 verbose #3002 > > #endif
00:00:51 verbose #3003 > > type core_any_Any = class end
00:00:51 verbose #3004 > > #if FABLE_COMPILER
00:00:51 verbose #3005 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:51 verbose #3006 > > #endif
00:00:51 verbose #3007 > > type core_ops_Try<'T> = class end
00:00:51 verbose #3008 > > #if FABLE_COMPILER
00:00:51 verbose #3009 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:51 verbose #3010 > > #endif
00:00:51 verbose #3011 > > type Func0<'T> = class end
00:00:51 verbose #3012 > > #if FABLE_COMPILER
00:00:51 verbose #3013 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:51 verbose #3014 > > #endif
00:00:51 verbose #3015 > > type Func0<'T, 'U> = class end
00:00:51 verbose #3016 > > #if FABLE_COMPILER
00:00:51 verbose #3017 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:51 verbose #3018 > > #endif
00:00:51 verbose #3019 > > type Box<'T> = class end
00:00:51 verbose #3020 > > #if FABLE_COMPILER
00:00:51 verbose #3021 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:51 verbose #3022 > > #endif
00:00:51 verbose #3023 > > type Dyn<'T> = class end
00:00:51 verbose #3024 > > #if FABLE_COMPILER
00:00:51 verbose #3025 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:51 verbose #3026 > > #endif
00:00:51 verbose #3027 > > type Send<'T> = class end
00:00:51 verbose #3028 > > #if FABLE_COMPILER
00:00:51 verbose #3029 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:51 verbose #3030 > > #endif
00:00:51 verbose #3031 > > type Fn<'T> = class end
00:00:51 verbose #3032 > > #if FABLE_COMPILER
00:00:51 verbose #3033 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:51 verbose #3034 > > #endif
00:00:51 verbose #3035 > > type FnUnit = class end
00:00:51 verbose #3036 > > #if FABLE_COMPILER
00:00:51 verbose #3037 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:51 verbose #3038 > > #...
00:00:52 verbose #3039 > >
00:00:52 verbose #3040 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:52 verbose #3041 > > #if FABLE_COMPILER
00:00:52 verbose #3042 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:00:52 verbose #3043 > > #endif
00:00:52 verbose #3044 > > type clap_Arg = class end
00:00:52 verbose #3045 > > #if FABLE_COMPILER
00:00:52 verbose #3046 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:00:52 verbose #3047 > > #endif
00:00:52 verbose #3048 > > type clap_ArgAction = class end
00:00:52 verbose #3049 > > #if FABLE_COMPILER
00:00:52 verbose #3050 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:00:52 verbose #3051 > > #endif
00:00:52 verbose #3052 > > type clap_Command = class end
00:00:52 verbose #3053 > > #if FABLE_COMPILER
00:00:52 verbose #3054 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:00:52 verbose #3055 > > #endif
00:00:52 verbose #3056 > > type clap_ArgMatches = class end
00:00:52 verbose #3057 > > #if FABLE_COMPILER
00:00:52 verbose #3058 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:00:52 verbose #3059 > > #endif
00:00:52 verbose #3060 > > type clap_builder_ValueRange = class end
00:00:52 verbose #3061 > > #if FABLE_COMPILER
00:00:52 verbose #3062 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:00:52 verbose #3063 > > #endif
00:00:52 verbose #3064 > > type clap_builder_ValueParser = class end
00:00:52 verbose #3065 > > #if FABLE_COMPILER
00:00:52 verbose #3066 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:00:52 verbose #3067 > > #endif
00:00:52 verbose #3068 > > type clap_builder_PossibleValue = class end
00:00:52 verbose #3069 > > #if FABLE_COMPILER
00:00:52 verbose #3070 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:00:52 verbose #3071 > > #endif
00:00:52 verbose #3072 > > type std_process_Child = class end
00:00:52 verbose #3073 > > #if FABLE_COMPILER
00:00:52 verbose #3074 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:00:52 verbose #3075 > > #endif
00:00:52 verbose #3076 > > type std_process_ChildStderr = class end
00:00:52 verbose #3077 > > #if FABLE_COMPILER
00:00:52 verbose #3078 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:00:52 verbose #3079 > > #endif
00:00:52 verbose #3080 > > type std_process_ChildStdout = class end
00:00:52 verbose #3081 > > #if FABLE_COMPILER
00:00:52 verbose #3082 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:00:52 verbose #3083 > > #endif
00:00:52 verbose #3084 > > type std_process_ChildStdin = class end
00:00:52 verbose #3085 > > #if FABLE_COMPILER
00:00:52 verbose #3086 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:00:52 verbose #3087 > > #endif
00:00:52 verbose #3088 > > type std_process_Command = class ...
00:00:54 verbose #3089 > >
00:00:54 verbose #3090 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:54 verbose #3091 > > #if FABLE_COMPILER
00:00:54 verbose #3092 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:00:54 verbose #3093 > > #endif
00:00:54 verbose #3094 > > type std_fs_File = class end
00:00:54 verbose #3095 > > #if FABLE_COMPILER
00:00:54 verbose #3096 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:00:54 verbose #3097 > > #endif
00:00:54 verbose #3098 > > type std_fs_FileType = class end
00:00:54 verbose #3099 > > #if FABLE_COMPILER
00:00:54 verbose #3100 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:00:54 verbose #3101 > > #endif
00:00:54 verbose #3102 > > type std_path_Display = class end
00:00:54 verbose #3103 > > #if FABLE_COMPILER
00:00:54 verbose #3104 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:00:54 verbose #3105 > > #endif
00:00:54 verbose #3106 > > type std_path_Path = class end
00:00:54 verbose #3107 > > #if FABLE_COMPILER
00:00:54 verbose #3108 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:00:54 verbose #3109 > > #endif
00:00:54 verbose #3110 > > type std_path_PathBuf = class end
00:00:54 verbose #3111 > > #if FABLE_COMPILER
00:00:54 verbose #3112 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:00:54 verbose #3113 > > #endif
00:00:54 verbose #3114 > > type async_walkdir_DirEntry = class end
00:00:54 verbose #3115 > > #if FABLE_COMPILER
00:00:54 verbose #3116 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:00:54 verbose #3117 > > #endif
00:00:54 verbose #3118 > > type async_walkdir_Filtering = class end
00:00:54 verbose #3119 > > #if FABLE_COMPILER
00:00:54 verbose #3120 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:00:54 verbose #3121 > > #endif
00:00:54 verbose #3122 > > type async_walkdir_WalkDir = class end
00:00:54 verbose #3123 > > #if FABLE_COMPILER
00:00:54 verbose #3124 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:54 verbose #3125 > > #endif
00:00:54 verbose #3126 > > type core_any_Any = class end
00:00:54 verbose #3127 > > #if FABLE_COMPILER
00:00:54 verbose #3128 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:54 verbose #3129 > > #endif
00:00:54 verbose #3130 > > type core_ops_Try<'T> = class end
00:00:54 verbose #3131 > > #if FABLE_COMPILER
00:00:54 verbose #3132 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:54 verbose #3133 > > #endif
00:00:54 verbose #3134 > > type Func0<'T> = class end
00:00:54 verbose #3135 > > #if FABLE_COMPILER
00:00:54 verbose #3136 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:54 verbose #3137 > > #endif
00:00:54 verbose #3138 > > type Func0<'T, 'U> = class end
00:00:54 verbose #3139 > > #if FABLE_COMPILER
00:00:54 verbose #3140 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:54 verbose #3141 > > #endif
00:00:54 verbose #3142 > > type Box<'T> = clas...
00:00:56 verbose #3143 > >
00:00:56 verbose #3144 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:56 verbose #3145 > > module SpiralTrace =
00:00:56 verbose #3146 > > let trace x =
00:00:56 verbose #3147 > > #if !INTERACTIVE
00:00:56 verbose #3148 > > Trace.trace x
00:00:56 verbose #3149 > > #else
00:00:56 verbose #3150 > > trace x
00:00:56 verbose #3151 > > #endif
00:00:56 verbose #3152 > >
00:00:56 verbose #3153 > > type TraceLevel =
00:00:56 verbose #3154 > > #if !INTERACTIVE
00:00:56 verbose #3155 > > Trace.US0
00:00:56 verbose #3156 > > #else
00:00:56 verbose #3157 > > US0
00:00:56 verbose #3158 > > #endif
00:00:56 verbose #3159 > >
00:00:56 verbose #3160 > > module SpiralCrypto =
00:00:56 verbose #3161 > > let hash_text x =
00:00:56 verbose #3162 > > #if !INTERACTIVE
00:00:56 verbose #3163 > > Crypto.hash_text x
00:00:56 verbose #3164 > > #else
00:00:56 verbose #3165 > > hash_text x
00:00:56 verbose #3166 > > #endif
00:00:56 verbose #3167 > >
00:00:56 verbose #3168 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:00:56 verbose #3169 > >
00:00:56 verbose #3170 > > module SpiralAsync =
00:00:56 verbose #3171 > > let merge_cancellation_token_with_default_async x =
00:00:56 verbose #3172 > > #if !INTERACTIVE
00:00:56 verbose #3173 > > Async_.merge_cancellation_token_with_default_async x
00:00:56 verbose #3174 > > #else
00:00:56 verbose #3175 > > merge_cancellation_token_with_default_async x
00:00:56 verbose #3176 > > #endif
00:00:56 verbose #3177 > >
00:00:56 verbose #3178 > > module SpiralThreading =
00:00:56 verbose #3179 > > let new_disposable_token x =
00:00:56 verbose #3180 > > #if !INTERACTIVE
00:00:56 verbose #3181 > > Threading.new_disposable_token x
00:00:56 verbose #3182 > > #else
00:00:56 verbose #3183 > > new_disposable_token x
00:00:56 verbose #3184 > > #endif
00:00:56 verbose #3185 > >
00:00:56 verbose #3186 > > module SpiralNetworking =
00:00:56 verbose #3187 > > let test_port_open x =
00:00:56 verbose #3188 > > #if !INTERACTIVE
00:00:56 verbose #3189 > > Networking.test_port_open x
00:00:56 verbose #3190 > > #else
00:00:56 verbose #3191 > > test_port_open x
00:00:56 verbose #3192 > > #endif
00:00:56 verbose #3193 > >
00:00:56 verbose #3194 > > let test_port_open_timeout x =
00:00:56 verbose #3195 > > #if !INTERACTIVE
00:00:56 verbose #3196 > > Networking.test_port_open_timeout x
00:00:56 verbose #3197 > > #else
00:00:56 verbose #3198 > > test_port_open_timeout x
00:00:56 verbose #3199 > > #endif
00:00:56 verbose #3200 > >
00:00:56 verbose #3201 > > let wait_for_port_access x =
00:00:56 verbose #3202 > > #if !INTERACTIVE
00:00:56 verbose #3203 > > Networking.wait_for_port_access x
00:00:56 verbose #3204 > > #else
00:00:56 verbose #3205 > > wait_for_port_access x
00:00:56 verbose #3206 > > #endif
00:00:56 verbose #3207 > >
00:00:56 verbose #3208 > > let get_available_port x =
00:00:56 verbose #3209 > > #if !INTERACTIVE
00:00:56 verbose #3210 > > Networking.get_available_port x
00:00:56 verbose #3211 > > #else
00:00:56 verbose #3212 > > get_available_port x
00:00:56 verbose #3213 > > #endif
00:00:56 verbose #3214 > >
00:00:56 verbose #3215 > > module SpiralRuntime =
00:00:56 verbose #3216 > > let get_executable_suffix () =
00:00:56 verbose #3217 > > #if !INTERACTIVE
00:00:56 verbose #3218 > > Runtime.get_executable_suffix ()
00:00:56 verbose #3219 > > #else
00:00:56 verbose #3220 > > get_executable_suffix ()
00:00:56 verbose #3221 > > #endif
00:00:56 verbose #3222 > >
00:00:56 verbose #3223 > > let is_windows () =
00:00:56 verbose #3224 > > #if !INTERACTIVE
00:00:56 verbose #3225 > > ...
00:00:56 verbose #3226 > >
00:00:56 verbose #3227 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:56 verbose #3228 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:00:56 verbose #3229 > >
00:00:56 verbose #3230 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:56 verbose #3231 > > //// test
00:00:56 verbose #3232 > >
00:00:56 verbose #3233 > > type AssertExceptionFormatter (ex) =
00:00:56 verbose #3234 > > member _.Text =
00:00:56 verbose #3235 > > ex.ToString()
00:00:56 verbose #3236 > > .Replace("32m", "<span style=\"color: green;\">")
00:00:56 verbose #3237 > > .Replace("36m", "</span>")
00:00:56 verbose #3238 > > .Replace("31m", "<span style=\"color: red;\">")
00:00:56 verbose #3239 > > .Replace("\n", "<br/>\n")
00:00:56 verbose #3240 > >
00:00:56 verbose #3241 > >
00:00:56 verbose #3242 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:00:56 verbose #3243 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:00:56 verbose #3244 > >
00:00:56 verbose #3245 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:56 verbose #3246 > > //// test
00:00:56 verbose #3247 > >
00:00:56 verbose #3248 > > let inline __expect fn log expected actual =
00:00:56 verbose #3249 > > if log then printfn $"{actual.ToDisplayString ()}"
00:00:56 verbose #3250 > > try
00:00:56 verbose #3251 > > "Testing.__expect" |> fn actual expected
00:00:56 verbose #3252 > > with :? Expecto.AssertException as ex ->
00:00:56 verbose #3253 > > AssertExceptionFormatter(ex).Display () |> ignore
00:00:56 verbose #3254 > > failwith (ex.GetType().FullName)
00:00:56 verbose #3255 > >
00:00:56 verbose #3256 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:00:56 verbose #3257 > > expected actual
00:00:56 verbose #3258 > > let inline _contains expected actual = __contains true expected actual
00:00:56 verbose #3259 > >
00:00:56 verbose #3260 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:00:56 verbose #3261 > > expected actual
00:00:56 verbose #3262 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:00:56 verbose #3263 > >
00:00:56 verbose #3264 > > let inline __isGreaterThan log expected actual = __expect
00:00:56 verbose #3265 > > Expecto.Expect.isGreaterThan log expected actual
00:00:56 verbose #3266 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:00:56 verbose #3267 > >
00:00:56 verbose #3268 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:00:56 verbose #3269 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:00:56 verbose #3270 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:00:56 verbose #3271 > > expected actual
00:00:56 verbose #3272 > >
00:00:56 verbose #3273 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:00:56 verbose #3274 > > log expected actual
00:00:56 verbose #3275 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:00:56 verbose #3276 > >
00:00:56 verbose #3277 > > let inline __isLessThanOrEqual log expected actual = __expect
00:00:56 verbose #3278 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:00:56 verbose #3279 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:00:56 verbose #3280 > > expected actual
00:00:56 verbose #3281 > >
00:00:56 verbose #3282 > > let inline __sequenceEqual log expected actual = __expe...
00:00:56 verbose #3283 > >
00:00:56 verbose #3284 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:56 verbose #3285 > > //// test
00:00:56 verbose #3286 > >
00:00:56 verbose #3287 > > let inline __isBetween log a b actual =
00:00:56 verbose #3288 > > let inline isBetween actual (a, b) _ =
00:00:56 verbose #3289 > > __isGreaterThanOrEqual log a actual
00:00:56 verbose #3290 > > __isLessThanOrEqual log b actual
00:00:56 verbose #3291 > > __expect isBetween log (a, b) actual
00:00:56 verbose #3292 > > let inline _isBetween a b actual = __isBetween true a b actual
00:00:56 verbose #3293 > >
00:00:56 verbose #3294 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:56 verbose #3295 > > #!import ../../lib/fsharp/Common.fs
00:00:56 verbose #3296 > >
00:00:56 verbose #3297 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:56 verbose #3298 > > #if !INTERACTIVE
00:00:56 verbose #3299 > > namespace Polyglot
00:00:56 verbose #3300 > > #endif
00:00:56 verbose #3301 > >
00:00:56 verbose #3302 > > module Common =
00:00:56 verbose #3303 > >
00:00:56 verbose #3304 > > #if !INTERACTIVE
00:00:56 verbose #3305 > > open Lib
00:00:56 verbose #3306 > > #endif
00:00:56 verbose #3307 > >
00:00:56 verbose #3308 > > let nl = System.Environment.NewLine
00:00:56 verbose #3309 > > let q = @""""
00:00:56 verbose #3310 > >
00:00:56 verbose #3311 > > let inline cons head tail = head :: tail
00:00:56 verbose #3312 > >
00:00:56 verbose #3313 > > /// ## memoize
00:00:56 verbose #3314 > > let inline memoize fn =
00:00:56 verbose #3315 > > let result = lazy fn ()
00:00:56 verbose #3316 > > fun () -> result.Value
00:00:56 verbose #3317 > >
00:00:56 verbose #3318 > > /// ## TraceLevel
00:00:56 verbose #3319 > > type TraceLevel =
00:00:56 verbose #3320 > > | Verbose
00:00:56 verbose #3321 > > | Debug
00:00:56 verbose #3322 > > | Info
00:00:56 verbose #3323 > > | Warning
00:00:56 verbose #3324 > > | Critical
00:00:56 verbose #3325 > >
00:00:56 verbose #3326 > > let inline _locals () = ""
00:00:56 verbose #3327 > >
00:00:56 verbose #3328 > > /// ## trace
00:00:56 verbose #3329 > > let to_trace_level = function
00:00:56 verbose #3330 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:00:56 verbose #3331 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:00:56 verbose #3332 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:00:56 verbose #3333 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:00:56 verbose #3334 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:00:56 verbose #3335 > >
00:00:56 verbose #3336 > > let trace level fn locals =
00:00:56 verbose #3337 > > let level = level |> to_trace_level
00:00:56 verbose #3338 > > SpiralTrace.trace level fn locals
00:00:56 verbose #3339 > >
00:00:56 verbose #3340 > >
00:00:56 verbose #3341 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:56 verbose #3342 > > open Common
00:00:56 verbose #3343 > >
00:00:56 verbose #3344 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:56 verbose #3345 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:56 verbose #3346 > > │ ## getUnionCaseName │
00:00:56 verbose #3347 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:56 verbose #3348 > >
00:00:56 verbose #3349 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:56 verbose #3350 > > let inline getUnionCaseName<'T> (x: 'T) =
00:00:56 verbose #3351 > > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
00:00:56 verbose #3352 > > | case, _ -> case.Name
00:00:56 verbose #3353 > >
00:00:56 verbose #3354 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:56 verbose #3355 > > //// test
00:00:56 verbose #3356 > >
00:00:56 verbose #3357 > > TraceLevel.Critical
00:00:56 verbose #3358 > > |> getUnionCaseName
00:00:56 verbose #3359 > > |> _assertEqual (nameof TraceLevel.Critical)
00:00:56 verbose #3360 > >
00:00:56 verbose #3361 > > ╭─[ 50.21ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:56 verbose #3362 > > │ "Critical" │
00:00:56 verbose #3363 > > │ │
00:00:56 verbose #3364 > > │ │
00:00:56 verbose #3365 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:56 verbose #3366 > 00:00:11 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 20380
00:00:56 verbose #3367 > 00:00:11 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:00:57 verbose #3368 > 00:00:12 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb to html
00:00:57 verbose #3369 > 00:00:12 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:57 verbose #3370 > 00:00:12 verbose #7 ! validate(nb)
00:00:57 verbose #3371 > 00:00:12 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:57 verbose #3372 > 00:00:12 verbose #9 ! return _pygments_highlight(
00:00:57 verbose #3373 > 00:00:12 verbose #10 ! [NbConvertApp] Writing 275590 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.html
00:00:57 verbose #3374 > 00:00:12 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 908
00:00:57 verbose #3375 > 00:00:12 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 908
00:00:57 verbose #3376 > 00:00:12 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:00:58 verbose #3377 > 00:00:13 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:00:58 verbose #3378 > 00:00:13 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:00:58 verbose #3379 > 00:00:13 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 21347
00:00:58 debug #3380 execute_with_options_async / exit_code: 0 / output.Length: 25082
00:00:58 debug #6 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path CommonFSharp.dib --retries 3
00:00:58 debug #3381 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path FileSystem.dib --retries 3",
[||], None, None, true, None)
00:00:58 verbose #3382 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "FileSystem.dib", "--retries", "3"])
00:00:58 verbose #3383 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:59 verbose #3384 > >
00:00:59 verbose #3385 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:59 verbose #3386 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:59 verbose #3387 > > │ # FileSystem (Polyglot) │
00:00:59 verbose #3388 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:59 verbose #3389 > >
00:00:59 verbose #3390 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:59 verbose #3391 > > #r
00:00:59 verbose #3392 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
00:00:59 verbose #3393 > > dard2.1/FSharp.Control.AsyncSeq.dll"
00:00:59 verbose #3394 > > #r
00:00:59 verbose #3395 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
00:00:59 verbose #3396 > > 0/System.Reactive.dll"
00:00:59 verbose #3397 > > #r
00:00:59 verbose #3398 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
00:00:59 verbose #3399 > > netstandard2.0/System.Reactive.Linq.dll"
00:00:59 verbose #3400 > > #r
00:00:59 verbose #3401 > > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll"
00:00:59 verbose #3402 > >
00:00:59 verbose #3403 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:59 verbose #3404 > > #r
00:00:59 verbose #3405 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:00:59 verbose #3406 > > NetCore.Html.Abstractions.dll"
00:00:59 verbose #3407 > > #r
00:00:59 verbose #3408 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:59 verbose #3409 > > Net.Interactive.dll"
00:00:59 verbose #3410 > > #r
00:00:59 verbose #3411 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:59 verbose #3412 > > Net.Interactive.FSharp.dll"
00:00:59 verbose #3413 > > #r
00:00:59 verbose #3414 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:59 verbose #3415 > > Net.Interactive.Formatting.dll"
00:00:59 verbose #3416 > > open System
00:00:59 verbose #3417 > > open System.IO
00:00:59 verbose #3418 > > open System.Text
00:00:59 verbose #3419 > > open Microsoft.DotNet.Interactive.Formatting
00:01:01 verbose #3420 > >
00:01:01 verbose #3421 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:01 verbose #3422 > > #r
00:01:01 verbose #3423 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:01 verbose #3424 > > Net.Interactive.FSharp.dll"
00:01:01 verbose #3425 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:01:01 verbose #3426 > > #r
00:01:01 verbose #3427 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:01 verbose #3428 > > Net.Interactive.dll"
00:01:01 verbose #3429 > > open type Microsoft.DotNet.Interactive.Kernel
00:01:01 verbose #3430 > >
00:01:01 verbose #3431 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:01 verbose #3432 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:01:02 verbose #3433 > >
00:01:02 verbose #3434 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:02 verbose #3435 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:01:02 verbose #3436 > > TextWriter)->fprintfn writer "%120A" x)
00:01:02 verbose #3437 > >
00:01:02 verbose #3438 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #3439 > > #!import ../../lib/fsharp/Notebooks.dib
00:01:02 verbose #3440 > > #!import ../../lib/fsharp/Testing.dib
00:01:02 verbose #3441 > >
00:01:02 verbose #3442 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:02 verbose #3443 > > //// test
00:01:02 verbose #3444 > >
00:01:02 verbose #3445 > > Formatter.ListExpansionLimit <- 100
00:01:02 verbose #3446 > >
00:01:02 verbose #3447 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:02 verbose #3448 > > #if FABLE_COMPILER
00:01:02 verbose #3449 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:01:02 verbose #3450 > > #endif
00:01:02 verbose #3451 > > type std_env_VarError = class end
00:01:02 verbose #3452 > > #if FABLE_COMPILER
00:01:02 verbose #3453 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:02 verbose #3454 > > #endif
00:01:02 verbose #3455 > > type core_any_Any = class end
00:01:02 verbose #3456 > > #if FABLE_COMPILER
00:01:02 verbose #3457 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:02 verbose #3458 > > #endif
00:01:02 verbose #3459 > > type core_ops_Try<'T> = class end
00:01:02 verbose #3460 > > #if FABLE_COMPILER
00:01:02 verbose #3461 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:02 verbose #3462 > > #endif
00:01:02 verbose #3463 > > type Func0<'T> = class end
00:01:02 verbose #3464 > > #if FABLE_COMPILER
00:01:02 verbose #3465 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:02 verbose #3466 > > #endif
00:01:02 verbose #3467 > > type Func0<'T, 'U> = class end
00:01:02 verbose #3468 > > #if FABLE_COMPILER
00:01:02 verbose #3469 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:02 verbose #3470 > > #endif
00:01:02 verbose #3471 > > type Box<'T> = class end
00:01:02 verbose #3472 > > #if FABLE_COMPILER
00:01:02 verbose #3473 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:01:02 verbose #3474 > > #endif
00:01:02 verbose #3475 > > type Dyn<'T> = class end
00:01:02 verbose #3476 > > #if FABLE_COMPILER
00:01:02 verbose #3477 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:01:02 verbose #3478 > > #endif
00:01:02 verbose #3479 > > type Send<'T> = class end
00:01:02 verbose #3480 > > #if FABLE_COMPILER
00:01:02 verbose #3481 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:01:02 verbose #3482 > > #endif
00:01:02 verbose #3483 > > type Fn<'T> = class end
00:01:02 verbose #3484 > > #if FABLE_COMPILER
00:01:02 verbose #3485 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:01:02 verbose #3486 > > #endif
00:01:02 verbose #3487 > > type FnUnit = class end
00:01:02 verbose #3488 > > #if FABLE_COMPILER
00:01:02 verbose #3489 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:01:02 verbose #3490 > > #endif
00:01:02 verbose #3491 > > type FnOnce<'T> = class end
00:01:02 verbose #3492 > > #if FABLE_COMPILER
00:01:02 verbose #3493 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:01:02 verbose #3494 > > #endif
00:01:02 verbose #3495 > > type ActionFn<'T> = class end
00:01:02 verbose #3496 > > #if FABLE_COMPILER
00:01:02 verbose #3497 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:01:02 verbose #3498 > > #endif
00:01:02 verbose #3499 > > type ActionFn2<'T, 'U> = class end
00:01:02 verbose #3500 > > #if FABLE_COMPILER
00:01:02 verbose #3501 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:01:02 verbose #3502 > > #endif
00:01:02 verbose #3503 > > type Impl<'T> = class end
00:01:02 verbose #3504 > > #if FABLE_COMPILER
00:01:02 verbose #3505 > > [[<Fable...
00:01:03 verbose #3506 > >
00:01:03 verbose #3507 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:03 verbose #3508 > > #if FABLE_COMPILER
00:01:03 verbose #3509 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:03 verbose #3510 > > #endif
00:01:03 verbose #3511 > > type core_any_Any = class end
00:01:03 verbose #3512 > > #if FABLE_COMPILER
00:01:03 verbose #3513 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:03 verbose #3514 > > #endif
00:01:03 verbose #3515 > > type core_ops_Try<'T> = class end
00:01:03 verbose #3516 > > #if FABLE_COMPILER
00:01:03 verbose #3517 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:03 verbose #3518 > > #endif
00:01:03 verbose #3519 > > type Func0<'T> = class end
00:01:03 verbose #3520 > > #if FABLE_COMPILER
00:01:03 verbose #3521 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:03 verbose #3522 > > #endif
00:01:03 verbose #3523 > > type Func0<'T, 'U> = class end
00:01:03 verbose #3524 > > #if FABLE_COMPILER
00:01:03 verbose #3525 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:03 verbose #3526 > > #endif
00:01:03 verbose #3527 > > type Box<'T> = class end
00:01:03 verbose #3528 > > #if FABLE_COMPILER
00:01:03 verbose #3529 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:01:03 verbose #3530 > > #endif
00:01:03 verbose #3531 > > type Dyn<'T> = class end
00:01:03 verbose #3532 > > #if FABLE_COMPILER
00:01:03 verbose #3533 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:01:03 verbose #3534 > > #endif
00:01:03 verbose #3535 > > type Send<'T> = class end
00:01:03 verbose #3536 > > #if FABLE_COMPILER
00:01:03 verbose #3537 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:01:03 verbose #3538 > > #endif
00:01:03 verbose #3539 > > type Fn<'T> = class end
00:01:03 verbose #3540 > > #if FABLE_COMPILER
00:01:03 verbose #3541 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:01:03 verbose #3542 > > #endif
00:01:03 verbose #3543 > > type FnUnit = class end
00:01:03 verbose #3544 > > #if FABLE_COMPILER
00:01:03 verbose #3545 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:01:03 verbose #3546 > > #endif
00:01:03 verbose #3547 > > type FnOnce<'T> = class end
00:01:03 verbose #3548 > > #if FABLE_COMPILER
00:01:03 verbose #3549 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:01:03 verbose #3550 > > #endif
00:01:03 verbose #3551 > > type ActionFn<'T> = class end
00:01:03 verbose #3552 > > #if FABLE_COMPILER
00:01:03 verbose #3553 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:01:03 verbose #3554 > > #endif
00:01:03 verbose #3555 > > type ActionFn2<'T, 'U> = class end
00:01:03 verbose #3556 > > #if FABLE_COMPILER
00:01:03 verbose #3557 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:01:03 verbose #3558 > > #endif
00:01:03 verbose #3559 > > type Impl<'T> = class end
00:01:03 verbose #3560 > > #if FABLE_COMPILER
00:01:03 verbose #3561 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:01:03 verbose #3562 > > #endif
00:01:03 verbose #3563 > > type Mut<'T> = class end
00:01:03 verbose #3564 > > #if FABLE_COMPILER
00:01:03 verbose #3565 > > [[<Fable.Core.Erase; Fable.Co...
00:01:04 verbose #3566 > >
00:01:04 verbose #3567 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:04 verbose #3568 > > #if FABLE_COMPILER
00:01:04 verbose #3569 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:01:04 verbose #3570 > > #endif
00:01:04 verbose #3571 > > type async_std_task_JoinHandle<'T> = class end
00:01:04 verbose #3572 > > #if FABLE_COMPILER
00:01:04 verbose #3573 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:01:04 verbose #3574 > > #endif
00:01:04 verbose #3575 > > type std_future_Future<'T> = class end
00:01:04 verbose #3576 > > #if FABLE_COMPILER
00:01:04 verbose #3577 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:01:04 verbose #3578 > > #endif
00:01:04 verbose #3579 > > type rayon_vec_IntoIter<'T> = class end
00:01:04 verbose #3580 > > #if FABLE_COMPILER
00:01:04 verbose #3581 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:01:04 verbose #3582 > > #endif
00:01:04 verbose #3583 > > type rayon_iter_Map<'T> = class end
00:01:04 verbose #3584 > > #if FABLE_COMPILER
00:01:04 verbose #3585 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:01:04 verbose #3586 > > #endif
00:01:04 verbose #3587 > > type futures_lite_stream_StreamExt = class end
00:01:04 verbose #3588 > > #if FABLE_COMPILER
00:01:04 verbose #3589 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:01:04 verbose #3590 > > #endif
00:01:04 verbose #3591 > > type futures_future_TryJoinAll<'T> = class end
00:01:04 verbose #3592 > > #if FABLE_COMPILER
00:01:04 verbose #3593 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:01:04 verbose #3594 > > #endif
00:01:04 verbose #3595 > > type futures_future_Fuse<'T> = class end
00:01:04 verbose #3596 > > #if FABLE_COMPILER
00:01:04 verbose #3597 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:01:04 verbose #3598 > > #endif
00:01:04 verbose #3599 > > type futures_future_JoinAll<'T> = class end
00:01:04 verbose #3600 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:01:04 verbose #3601 > > Async<System.Threading.CancellationToken> =
00:01:04 verbose #3602 > > let v1 : bool = true
00:01:04 verbose #3603 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:01:04 verbose #3604 > >
00:01:04 verbose #3605 > > #if FABLE_COMPILER || WASM || CONTRACT
00:01:04 verbose #3606 > >
00:01:04 verbose #3607 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:01:04 verbose #3608 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:01:04 verbose #3609 > > unbox<Async<System...
00:01:04 verbose #3610 > >
00:01:04 verbose #3611 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:04 verbose #3612 > > #if FABLE_COMPILER
00:01:04 verbose #3613 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:01:04 verbose #3614 > > #endif
00:01:04 verbose #3615 > > type std_thread_JoinHandle<'T> = class end
00:01:04 verbose #3616 > > #if FABLE_COMPILER
00:01:04 verbose #3617 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:01:04 verbose #3618 > > #endif
00:01:04 verbose #3619 > > type std_sync_Arc<'T> = class end
00:01:04 verbose #3620 > > #if FABLE_COMPILER
00:01:04 verbose #3621 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:01:04 verbose #3622 > > #endif
00:01:04 verbose #3623 > > type std_sync_Mutex<'T> = class end
00:01:04 verbose #3624 > > #if FABLE_COMPILER
00:01:04 verbose #3625 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:01:04 verbose #3626 > > #endif
00:01:04 verbose #3627 > > type std_sync_MutexGuard<'T> = class end
00:01:04 verbose #3628 > > #if FABLE_COMPILER
00:01:04 verbose #3629 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:01:04 verbose #3630 > > #endif
00:01:04 verbose #3631 > > type std_sync_PoisonError<'T> = class end
00:01:04 verbose #3632 > > #if FABLE_COMPILER
00:01:04 verbose #3633 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:01:04 verbose #3634 > > #endif
00:01:04 verbose #3635 > > type std_sync_mpsc_Receiver<'T> = class end
00:01:04 verbose #3636 > > #if FABLE_COMPILER
00:01:04 verbose #3637 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:01:04 verbose #3638 > > #endif
00:01:04 verbose #3639 > > type std_sync_mpsc_SendError<'T> = class end
00:01:04 verbose #3640 > > #if FABLE_COMPILER
00:01:04 verbose #3641 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:01:04 verbose #3642 > > #endif
00:01:04 verbose #3643 > > type std_sync_mpsc_Sender<'T> = class end
00:01:04 verbose #3644 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:01:04 verbose #3645 > > _.Dispose () = f ()
00:01:04 verbose #3646 > > type [[<Struct>]] US0 =
00:01:04 verbose #3647 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:01:04 verbose #3648 > > | US0_1
00:01:04 verbose #3649 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:01:04 verbose #3650 > > let v1 : bool = true
00:01:04 verbose #3651 > > let mutable _v1 : unit option = None
00:01:04 verbose #3652 > >
00:01:04 verbose #3653 > > #if FABLE_COMPILER || WASM || CONTRACT
00:01:04 verbose #3654 > >
00:01:04 verbose #3655 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:01:04 verbose #3656 > >
00:01:04 verbose #3657 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:04 verbose #3658 > > #if FABLE_COMPILER
00:01:04 verbose #3659 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:01:04 verbose #3660 > > #endif
00:01:04 verbose #3661 > > type reqwest_Error = class end
00:01:04 verbose #3662 > > #if FABLE_COMPILER
00:01:04 verbose #3663 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:01:04 verbose #3664 > > #endif
00:01:04 verbose #3665 > > type reqwest_RequestBuilder = class end
00:01:04 verbose #3666 > > #if FABLE_COMPILER
00:01:04 verbose #3667 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:01:04 verbose #3668 > > #endif
00:01:04 verbose #3669 > > type reqwest_Response = class end
00:01:04 verbose #3670 > > #if FABLE_COMPILER
00:01:04 verbose #3671 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:01:04 verbose #3672 > > #endif
00:01:04 verbose #3673 > > type std_env_VarError = class end
00:01:04 verbose #3674 > > #if FABLE_COMPILER
00:01:04 verbose #3675 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:04 verbose #3676 > > #endif
00:01:04 verbose #3677 > > type core_any_Any = class end
00:01:04 verbose #3678 > > #if FABLE_COMPILER
00:01:04 verbose #3679 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:04 verbose #3680 > > #endif
00:01:04 verbose #3681 > > type core_ops_Try<'T> = class end
00:01:04 verbose #3682 > > #if FABLE_COMPILER
00:01:04 verbose #3683 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:04 verbose #3684 > > #endif
00:01:04 verbose #3685 > > type Func0<'T> = class end
00:01:04 verbose #3686 > > #if FABLE_COMPILER
00:01:04 verbose #3687 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:04 verbose #3688 > > #endif
00:01:04 verbose #3689 > > type Func0<'T, 'U> = class end
00:01:04 verbose #3690 > > #if FABLE_COMPILER
00:01:04 verbose #3691 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:04 verbose #3692 > > #endif
00:01:04 verbose #3693 > > type Box<'T> = class end
00:01:04 verbose #3694 > > #if FABLE_COMPILER
00:01:04 verbose #3695 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:01:04 verbose #3696 > > #endif
00:01:04 verbose #3697 > > type Dyn<'T> = class end
00:01:04 verbose #3698 > > #if FABLE_COMPILER
00:01:04 verbose #3699 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:01:04 verbose #3700 > > #endif
00:01:04 verbose #3701 > > type Send<'T> = class end
00:01:04 verbose #3702 > > #if FABLE_COMPILER
00:01:04 verbose #3703 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:01:04 verbose #3704 > > #endif
00:01:04 verbose #3705 > > type Fn<'T> = class end
00:01:04 verbose #3706 > > #if FABLE_COMPILER
00:01:04 verbose #3707 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:01:04 verbose #3708 > > #endif
00:01:04 verbose #3709 > > type FnUnit = class end
00:01:04 verbose #3710 > > #if FABLE_COMPILER
00:01:04 verbose #3711 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:01:04 verbose #3712 > > #...
00:01:05 verbose #3713 > >
00:01:05 verbose #3714 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:05 verbose #3715 > > #if FABLE_COMPILER
00:01:05 verbose #3716 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:01:05 verbose #3717 > > #endif
00:01:05 verbose #3718 > > type clap_Arg = class end
00:01:05 verbose #3719 > > #if FABLE_COMPILER
00:01:05 verbose #3720 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:01:05 verbose #3721 > > #endif
00:01:05 verbose #3722 > > type clap_ArgAction = class end
00:01:05 verbose #3723 > > #if FABLE_COMPILER
00:01:05 verbose #3724 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:01:05 verbose #3725 > > #endif
00:01:05 verbose #3726 > > type clap_Command = class end
00:01:05 verbose #3727 > > #if FABLE_COMPILER
00:01:05 verbose #3728 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:01:05 verbose #3729 > > #endif
00:01:05 verbose #3730 > > type clap_ArgMatches = class end
00:01:05 verbose #3731 > > #if FABLE_COMPILER
00:01:05 verbose #3732 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:01:05 verbose #3733 > > #endif
00:01:05 verbose #3734 > > type clap_builder_ValueRange = class end
00:01:05 verbose #3735 > > #if FABLE_COMPILER
00:01:05 verbose #3736 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:01:05 verbose #3737 > > #endif
00:01:05 verbose #3738 > > type clap_builder_ValueParser = class end
00:01:05 verbose #3739 > > #if FABLE_COMPILER
00:01:05 verbose #3740 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:01:05 verbose #3741 > > #endif
00:01:05 verbose #3742 > > type clap_builder_PossibleValue = class end
00:01:05 verbose #3743 > > #if FABLE_COMPILER
00:01:05 verbose #3744 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:01:05 verbose #3745 > > #endif
00:01:05 verbose #3746 > > type std_process_Child = class end
00:01:05 verbose #3747 > > #if FABLE_COMPILER
00:01:05 verbose #3748 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:01:05 verbose #3749 > > #endif
00:01:05 verbose #3750 > > type std_process_ChildStderr = class end
00:01:05 verbose #3751 > > #if FABLE_COMPILER
00:01:05 verbose #3752 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:01:05 verbose #3753 > > #endif
00:01:05 verbose #3754 > > type std_process_ChildStdout = class end
00:01:05 verbose #3755 > > #if FABLE_COMPILER
00:01:05 verbose #3756 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:01:05 verbose #3757 > > #endif
00:01:05 verbose #3758 > > type std_process_ChildStdin = class end
00:01:05 verbose #3759 > > #if FABLE_COMPILER
00:01:05 verbose #3760 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:01:05 verbose #3761 > > #endif
00:01:05 verbose #3762 > > type std_process_Command = class ...
00:01:07 verbose #3763 > >
00:01:07 verbose #3764 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:07 verbose #3765 > > #if FABLE_COMPILER
00:01:07 verbose #3766 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:01:07 verbose #3767 > > #endif
00:01:07 verbose #3768 > > type std_fs_File = class end
00:01:07 verbose #3769 > > #if FABLE_COMPILER
00:01:07 verbose #3770 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:01:07 verbose #3771 > > #endif
00:01:07 verbose #3772 > > type std_fs_FileType = class end
00:01:07 verbose #3773 > > #if FABLE_COMPILER
00:01:07 verbose #3774 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:01:07 verbose #3775 > > #endif
00:01:07 verbose #3776 > > type std_path_Display = class end
00:01:07 verbose #3777 > > #if FABLE_COMPILER
00:01:07 verbose #3778 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:01:07 verbose #3779 > > #endif
00:01:07 verbose #3780 > > type std_path_Path = class end
00:01:07 verbose #3781 > > #if FABLE_COMPILER
00:01:07 verbose #3782 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:01:07 verbose #3783 > > #endif
00:01:07 verbose #3784 > > type std_path_PathBuf = class end
00:01:07 verbose #3785 > > #if FABLE_COMPILER
00:01:07 verbose #3786 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:01:07 verbose #3787 > > #endif
00:01:07 verbose #3788 > > type async_walkdir_DirEntry = class end
00:01:07 verbose #3789 > > #if FABLE_COMPILER
00:01:07 verbose #3790 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:01:07 verbose #3791 > > #endif
00:01:07 verbose #3792 > > type async_walkdir_Filtering = class end
00:01:07 verbose #3793 > > #if FABLE_COMPILER
00:01:07 verbose #3794 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:01:07 verbose #3795 > > #endif
00:01:07 verbose #3796 > > type async_walkdir_WalkDir = class end
00:01:07 verbose #3797 > > #if FABLE_COMPILER
00:01:07 verbose #3798 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:07 verbose #3799 > > #endif
00:01:07 verbose #3800 > > type core_any_Any = class end
00:01:07 verbose #3801 > > #if FABLE_COMPILER
00:01:07 verbose #3802 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:07 verbose #3803 > > #endif
00:01:07 verbose #3804 > > type core_ops_Try<'T> = class end
00:01:07 verbose #3805 > > #if FABLE_COMPILER
00:01:07 verbose #3806 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:07 verbose #3807 > > #endif
00:01:07 verbose #3808 > > type Func0<'T> = class end
00:01:07 verbose #3809 > > #if FABLE_COMPILER
00:01:07 verbose #3810 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:07 verbose #3811 > > #endif
00:01:07 verbose #3812 > > type Func0<'T, 'U> = class end
00:01:07 verbose #3813 > > #if FABLE_COMPILER
00:01:07 verbose #3814 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:07 verbose #3815 > > #endif
00:01:07 verbose #3816 > > type Box<'T> = clas...
00:01:09 verbose #3817 > >
00:01:09 verbose #3818 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #3819 > > module SpiralTrace =
00:01:09 verbose #3820 > > let trace x =
00:01:09 verbose #3821 > > #if !INTERACTIVE
00:01:09 verbose #3822 > > Trace.trace x
00:01:09 verbose #3823 > > #else
00:01:09 verbose #3824 > > trace x
00:01:09 verbose #3825 > > #endif
00:01:09 verbose #3826 > >
00:01:09 verbose #3827 > > type TraceLevel =
00:01:09 verbose #3828 > > #if !INTERACTIVE
00:01:09 verbose #3829 > > Trace.US0
00:01:09 verbose #3830 > > #else
00:01:09 verbose #3831 > > US0
00:01:09 verbose #3832 > > #endif
00:01:09 verbose #3833 > >
00:01:09 verbose #3834 > > module SpiralCrypto =
00:01:09 verbose #3835 > > let hash_text x =
00:01:09 verbose #3836 > > #if !INTERACTIVE
00:01:09 verbose #3837 > > Crypto.hash_text x
00:01:09 verbose #3838 > > #else
00:01:09 verbose #3839 > > hash_text x
00:01:09 verbose #3840 > > #endif
00:01:09 verbose #3841 > >
00:01:09 verbose #3842 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:01:09 verbose #3843 > >
00:01:09 verbose #3844 > > module SpiralAsync =
00:01:09 verbose #3845 > > let merge_cancellation_token_with_default_async x =
00:01:09 verbose #3846 > > #if !INTERACTIVE
00:01:09 verbose #3847 > > Async_.merge_cancellation_token_with_default_async x
00:01:09 verbose #3848 > > #else
00:01:09 verbose #3849 > > merge_cancellation_token_with_default_async x
00:01:09 verbose #3850 > > #endif
00:01:09 verbose #3851 > >
00:01:09 verbose #3852 > > module SpiralThreading =
00:01:09 verbose #3853 > > let new_disposable_token x =
00:01:09 verbose #3854 > > #if !INTERACTIVE
00:01:09 verbose #3855 > > Threading.new_disposable_token x
00:01:09 verbose #3856 > > #else
00:01:09 verbose #3857 > > new_disposable_token x
00:01:09 verbose #3858 > > #endif
00:01:09 verbose #3859 > >
00:01:09 verbose #3860 > > module SpiralNetworking =
00:01:09 verbose #3861 > > let test_port_open x =
00:01:09 verbose #3862 > > #if !INTERACTIVE
00:01:09 verbose #3863 > > Networking.test_port_open x
00:01:09 verbose #3864 > > #else
00:01:09 verbose #3865 > > test_port_open x
00:01:09 verbose #3866 > > #endif
00:01:09 verbose #3867 > >
00:01:09 verbose #3868 > > let test_port_open_timeout x =
00:01:09 verbose #3869 > > #if !INTERACTIVE
00:01:09 verbose #3870 > > Networking.test_port_open_timeout x
00:01:09 verbose #3871 > > #else
00:01:09 verbose #3872 > > test_port_open_timeout x
00:01:09 verbose #3873 > > #endif
00:01:09 verbose #3874 > >
00:01:09 verbose #3875 > > let wait_for_port_access x =
00:01:09 verbose #3876 > > #if !INTERACTIVE
00:01:09 verbose #3877 > > Networking.wait_for_port_access x
00:01:09 verbose #3878 > > #else
00:01:09 verbose #3879 > > wait_for_port_access x
00:01:09 verbose #3880 > > #endif
00:01:09 verbose #3881 > >
00:01:09 verbose #3882 > > let get_available_port x =
00:01:09 verbose #3883 > > #if !INTERACTIVE
00:01:09 verbose #3884 > > Networking.get_available_port x
00:01:09 verbose #3885 > > #else
00:01:09 verbose #3886 > > get_available_port x
00:01:09 verbose #3887 > > #endif
00:01:09 verbose #3888 > >
00:01:09 verbose #3889 > > module SpiralRuntime =
00:01:09 verbose #3890 > > let get_executable_suffix () =
00:01:09 verbose #3891 > > #if !INTERACTIVE
00:01:09 verbose #3892 > > Runtime.get_executable_suffix ()
00:01:09 verbose #3893 > > #else
00:01:09 verbose #3894 > > get_executable_suffix ()
00:01:09 verbose #3895 > > #endif
00:01:09 verbose #3896 > >
00:01:09 verbose #3897 > > let is_windows () =
00:01:09 verbose #3898 > > #if !INTERACTIVE
00:01:09 verbose #3899 > > ...
00:01:09 verbose #3900 > >
00:01:09 verbose #3901 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #3902 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:01:09 verbose #3903 > >
00:01:09 verbose #3904 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #3905 > > //// test
00:01:09 verbose #3906 > >
00:01:09 verbose #3907 > > type AssertExceptionFormatter (ex) =
00:01:09 verbose #3908 > > member _.Text =
00:01:09 verbose #3909 > > ex.ToString()
00:01:09 verbose #3910 > > .Replace("32m", "<span style=\"color: green;\">")
00:01:09 verbose #3911 > > .Replace("36m", "</span>")
00:01:09 verbose #3912 > > .Replace("31m", "<span style=\"color: red;\">")
00:01:09 verbose #3913 > > .Replace("\n", "<br/>\n")
00:01:09 verbose #3914 > >
00:01:09 verbose #3915 > >
00:01:09 verbose #3916 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:01:09 verbose #3917 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:01:09 verbose #3918 > >
00:01:09 verbose #3919 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #3920 > > //// test
00:01:09 verbose #3921 > >
00:01:09 verbose #3922 > > let inline __expect fn log expected actual =
00:01:09 verbose #3923 > > if log then printfn $"{actual.ToDisplayString ()}"
00:01:09 verbose #3924 > > try
00:01:09 verbose #3925 > > "Testing.__expect" |> fn actual expected
00:01:09 verbose #3926 > > with :? Expecto.AssertException as ex ->
00:01:09 verbose #3927 > > AssertExceptionFormatter(ex).Display () |> ignore
00:01:09 verbose #3928 > > failwith (ex.GetType().FullName)
00:01:09 verbose #3929 > >
00:01:09 verbose #3930 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:01:09 verbose #3931 > > expected actual
00:01:09 verbose #3932 > > let inline _contains expected actual = __contains true expected actual
00:01:09 verbose #3933 > >
00:01:09 verbose #3934 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:01:09 verbose #3935 > > expected actual
00:01:09 verbose #3936 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:01:09 verbose #3937 > >
00:01:09 verbose #3938 > > let inline __isGreaterThan log expected actual = __expect
00:01:09 verbose #3939 > > Expecto.Expect.isGreaterThan log expected actual
00:01:09 verbose #3940 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:01:09 verbose #3941 > >
00:01:09 verbose #3942 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:01:09 verbose #3943 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:01:09 verbose #3944 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:01:09 verbose #3945 > > expected actual
00:01:09 verbose #3946 > >
00:01:09 verbose #3947 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:01:09 verbose #3948 > > log expected actual
00:01:09 verbose #3949 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:01:09 verbose #3950 > >
00:01:09 verbose #3951 > > let inline __isLessThanOrEqual log expected actual = __expect
00:01:09 verbose #3952 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:01:09 verbose #3953 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:01:09 verbose #3954 > > expected actual
00:01:09 verbose #3955 > >
00:01:09 verbose #3956 > > let inline __sequenceEqual log expected actual = __expe...
00:01:09 verbose #3957 > >
00:01:09 verbose #3958 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #3959 > > //// test
00:01:09 verbose #3960 > >
00:01:09 verbose #3961 > > let inline __isBetween log a b actual =
00:01:09 verbose #3962 > > let inline isBetween actual (a, b) _ =
00:01:09 verbose #3963 > > __isGreaterThanOrEqual log a actual
00:01:09 verbose #3964 > > __isLessThanOrEqual log b actual
00:01:09 verbose #3965 > > __expect isBetween log (a, b) actual
00:01:09 verbose #3966 > > let inline _isBetween a b actual = __isBetween true a b actual
00:01:09 verbose #3967 > >
00:01:09 verbose #3968 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:09 verbose #3969 > > #!import ../../lib/fsharp/Common.fs
00:01:09 verbose #3970 > > #!import ../../lib/fsharp/CommonFSharp.fs
00:01:09 verbose #3971 > > #!import ../../lib/fsharp/Async.fs
00:01:09 verbose #3972 > > #!import ../../lib/fsharp/AsyncSeq.fs
00:01:09 verbose #3973 > > #!import ../../lib/fsharp/Runtime.fs
00:01:09 verbose #3974 > >
00:01:09 verbose #3975 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #3976 > > #if !INTERACTIVE
00:01:09 verbose #3977 > > namespace Polyglot
00:01:09 verbose #3978 > > #endif
00:01:09 verbose #3979 > >
00:01:09 verbose #3980 > > module Common =
00:01:09 verbose #3981 > >
00:01:09 verbose #3982 > > #if !INTERACTIVE
00:01:09 verbose #3983 > > open Lib
00:01:09 verbose #3984 > > #endif
00:01:09 verbose #3985 > >
00:01:09 verbose #3986 > > let nl = System.Environment.NewLine
00:01:09 verbose #3987 > > let q = @""""
00:01:09 verbose #3988 > >
00:01:09 verbose #3989 > > let inline cons head tail = head :: tail
00:01:09 verbose #3990 > >
00:01:09 verbose #3991 > > /// ## memoize
00:01:09 verbose #3992 > > let inline memoize fn =
00:01:09 verbose #3993 > > let result = lazy fn ()
00:01:09 verbose #3994 > > fun () -> result.Value
00:01:09 verbose #3995 > >
00:01:09 verbose #3996 > > /// ## TraceLevel
00:01:09 verbose #3997 > > type TraceLevel =
00:01:09 verbose #3998 > > | Verbose
00:01:09 verbose #3999 > > | Debug
00:01:09 verbose #4000 > > | Info
00:01:09 verbose #4001 > > | Warning
00:01:09 verbose #4002 > > | Critical
00:01:09 verbose #4003 > >
00:01:09 verbose #4004 > > let inline _locals () = ""
00:01:09 verbose #4005 > >
00:01:09 verbose #4006 > > /// ## trace
00:01:09 verbose #4007 > > let to_trace_level = function
00:01:09 verbose #4008 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:01:09 verbose #4009 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:01:09 verbose #4010 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:01:09 verbose #4011 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:01:09 verbose #4012 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:01:09 verbose #4013 > >
00:01:09 verbose #4014 > > let trace level fn locals =
00:01:09 verbose #4015 > > let level = level |> to_trace_level
00:01:09 verbose #4016 > > SpiralTrace.trace level fn locals
00:01:09 verbose #4017 > >
00:01:09 verbose #4018 > >
00:01:09 verbose #4019 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #4020 > > #if !INTERACTIVE
00:01:09 verbose #4021 > > namespace Polyglot
00:01:09 verbose #4022 > > #endif
00:01:09 verbose #4023 > >
00:01:09 verbose #4024 > > module CommonFSharp =
00:01:09 verbose #4025 > >
00:01:09 verbose #4026 > > open Common
00:01:09 verbose #4027 > >
00:01:09 verbose #4028 > > /// ## getUnionCaseName
00:01:09 verbose #4029 > > let inline getUnionCaseName<'T> (x: 'T) =
00:01:09 verbose #4030 > > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
00:01:09 verbose #4031 > > | case, _ -> case.Name
00:01:09 verbose #4032 > >
00:01:09 verbose #4033 > >
00:01:09 verbose #4034 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:09 verbose #4035 > > #if !INTERACTIVE
00:01:09 verbose #4036 > > namespace Polyglot
00:01:09 verbose #4037 > > #endif
00:01:09 verbose #4038 > >
00:01:09 verbose #4039 > > module Async =
00:01:09 verbose #4040 > >
00:01:09 verbose #4041 > > #if !INTERACTIVE
00:01:09 verbose #4042 > > open Lib
00:01:09 verbose #4043 > > #endif
00:01:09 verbose #4044 > >
00:01:09 verbose #4045 > > open Common
00:01:09 verbose #4046 > >
00:01:09 verbose #4047 > > /// ## choice
00:01:09 verbose #4048 > > let inline choice asyncs = async {
00:01:09 verbose #4049 > > let e = Event<_> ()
00:01:09 verbose #4050 > > use cts = new System.Threading.CancellationTokenSource ()
00:01:09 verbose #4051 > > let fn =
00:01:09 verbose #4052 > > asyncs
00:01:09 verbose #4053 > > |> Seq.map (fun a -> async {
00:01:09 verbose #4054 > > let! x = a
00:01:09 verbose #4055 > > e.Trigger x
00:01:09 verbose #4056 > > })
00:01:09 verbose #4057 > > |> Async.Parallel
00:01:09 verbose #4058 > > |> Async.Ignore
00:01:09 verbose #4059 > > Async.Start (fn, cts.Token)
00:01:09 verbose #4060 > > let! result = Async.AwaitEvent e.Publish
00:01:09 verbose #4061 > > cts.Cancel ()
00:01:09 verbose #4062 > > return result
00:01:09 verbose #4063 > > }
00:01:09 verbose #4064 > >
00:01:09 verbose #4065 > > /// ## map
00:01:09 verbose #4066 > > let inline map fn a = async {
00:01:09 verbose #4067 > > let! x = a
00:01:09 verbose #4068 > > return fn x
00:01:09 verbose #4069 > > }
00:01:09 verbose #4070 > >
00:01:09 verbose #4071 > > /// ## catch
00:01:09 verbose #4072 > > let inline catch a =
00:01:09 verbose #4073 > > a
00:01:09 verbose #4074 > > |> Async.Catch
00:01:09 verbose #4075 > > |> map (function
00:01:09 verbose #4076 > > | Choice1Of2 result -> Ok result
00:01:09 verbose #4077 > > | Choice2Of2 ex -> Error ex
00:01:09 verbose #4078 > > )
00:01:09 verbose #4079 > >
00:01:09 verbose #4080 > > /// ## runWithTimeoutChoiceAsync
00:01:09 verbose #4081 > > let inline runWithTimeoutChoiceAsync (timeout : int) fn =
00:01:09 verbose #4082 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:01:09 verbose #4083 > >
00:01:09 verbose #4084 > > let timeoutTask = async {
00:01:09 verbose #4085 > > do! Async.Sleep timeout
00:01:09 verbose #4086 > > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals
00:01:09 verbose #4087 > > return None
00:01:09 verbose #4088 > > }
00:01:09 verbose #4089 > >
00:01:09 verbose #4090 > > let task = async {
00:01:09 verbose #4091 > > try
00:01:09 verbose #4092 > > let! result = fn
00:01:09 verbose #4093 > > return Some result
00:01:09 verbose #4094 > > with
00:01:09 verbose #4095 > > | :? System.AggregateException as ex when
00:01:09 verbose #4096 > > ex.InnerExceptions
00:01:09 verbose #4097 > > |> Seq.exists (function :? Sys...
00:01:10 verbose #4098 > >
00:01:10 verbose #4099 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:10 verbose #4100 > > #if !INTERACTIVE
00:01:10 verbose #4101 > > namespace Polyglot
00:01:10 verbose #4102 > > #endif
00:01:10 verbose #4103 > >
00:01:10 verbose #4104 > > module AsyncSeq =
00:01:10 verbose #4105 > >
00:01:10 verbose #4106 > > #if !INTERACTIVE
00:01:10 verbose #4107 > > open Lib
00:01:10 verbose #4108 > > #endif
00:01:10 verbose #4109 > >
00:01:10 verbose #4110 > > open Common
00:01:10 verbose #4111 > >
00:01:10 verbose #4112 > > /// ## subscribeEvent
00:01:10 verbose #4113 > > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
00:01:10 verbose #4114 > > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
00:01:10 verbose #4115 > > 'A>(event.AddHandler, event.RemoveHandler)
00:01:10 verbose #4116 > > System.Reactive.Linq.Observable.Select (observable, fun event -> map
00:01:10 verbose #4117 > > event.EventArgs)
00:01:10 verbose #4118 > > |> FSharp.Control.AsyncSeq.ofObservableBuffered
00:01:10 verbose #4119 > >
00:01:10 verbose #4120 > > /// ## subscribeToken
00:01:10 verbose #4121 > > let subscribeToken (token : System.Threading.CancellationToken) =
00:01:10 verbose #4122 > > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
00:01:10 verbose #4123 > > System.Action tcs.SetResult |> token.Register |> ignore
00:01:10 verbose #4124 > > let start = System.DateTime.Now.Ticks
00:01:10 verbose #4125 > > FSharp.Control.AsyncSeq.unfoldAsync
00:01:10 verbose #4126 > > (fun () -> async {
00:01:10 verbose #4127 > > do! tcs.Task |> Async.AwaitTask
00:01:10 verbose #4128 > > return Some (System.DateTime.Now.Ticks - start, ())
00:01:10 verbose #4129 > > })
00:01:10 verbose #4130 > > ()
00:01:10 verbose #4131 > >
00:01:10 verbose #4132 > >
00:01:10 verbose #4133 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:10 verbose #4134 > > #if !INTERACTIVE
00:01:10 verbose #4135 > > namespace Polyglot
00:01:10 verbose #4136 > > #endif
00:01:10 verbose #4137 > >
00:01:10 verbose #4138 > > module Runtime =
00:01:10 verbose #4139 > >
00:01:10 verbose #4140 > > #if !INTERACTIVE
00:01:10 verbose #4141 > > open Lib
00:01:10 verbose #4142 > > #endif
00:01:10 verbose #4143 > >
00:01:10 verbose #4144 > > open Common
00:01:10 verbose #4145 > >
00:01:10 verbose #4146 > > /// ## parseArgs
00:01:10 verbose #4147 > > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:10 verbose #4148 > > let assemblyName =
00:01:10 verbose #4149 > > System.Reflection.Assembly.GetEntryAssembly().GetName().Name
00:01:10 verbose #4150 > > let errorHandler : Argu.IExiter =
00:01:10 verbose #4151 > > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |>
00:01:10 verbose #4152 > > List.contains assemblyName
00:01:10 verbose #4153 > > then Argu.ExceptionExiter ()
00:01:10 verbose #4154 > > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None |
00:01:10 verbose #4155 > > _ -> Some System.ConsoleColor.Red)
00:01:10 verbose #4156 > >
00:01:10 verbose #4157 > > let parser =
00:01:10 verbose #4158 > > Argu.ArgumentParser.Create<'T> (
00:01:10 verbose #4159 > > programName =
00:01:10 verbose #4160 > > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}",
00:01:10 verbose #4161 > > errorHandler = errorHandler
00:01:10 verbose #4162 > > )
00:01:10 verbose #4163 > >
00:01:10 verbose #4164 > > parser.ParseCommandLine args
00:01:10 verbose #4165 > >
00:01:10 verbose #4166 > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:10 verbose #4167 > > args
00:01:10 verbose #4168 > > |> parseArgs<'T>
00:01:10 verbose #4169 > > |> fun results -> results.GetAllResults ()
00:01:10 verbose #4170 > >
00:01:10 verbose #4171 > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:10 verbose #4172 > > args
00:01:10 verbose #4173 > > |> parseAllArgs<'T>
00:01:10 verbose #4174 > > |> List.groupBy CommonFSharp.getUnionCaseName<'T>
00:01:10 verbose #4175 > > |> Map.ofList
00:01:10 verbose #4176 > >
00:01:10 verbose #4177 > >
00:01:10 verbose #4178 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:10 verbose #4179 > > #if !INTERACTIVE
00:01:10 verbose #4180 > > open Lib
00:01:10 verbose #4181 > > #endif
00:01:10 verbose #4182 > >
00:01:10 verbose #4183 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:10 verbose #4184 > > open Common
00:01:10 verbose #4185 > > open SpiralFileSystem.Operators
00:01:10 verbose #4186 > >
00:01:10 verbose #4187 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:10 verbose #4188 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:10 verbose #4189 > > │ ## watchDirectory │
00:01:10 verbose #4190 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:10 verbose #4191 > >
00:01:10 verbose #4192 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:10 verbose #4193 > > [[<RequireQualifiedAccess>]]
00:01:10 verbose #4194 > > type FileSystemChangeType =
00:01:10 verbose #4195 > > | Failure
00:01:10 verbose #4196 > > | Changed
00:01:10 verbose #4197 > > | Created
00:01:10 verbose #4198 > > | Deleted
00:01:10 verbose #4199 > > | Renamed
00:01:10 verbose #4200 > >
00:01:10 verbose #4201 > > [[<RequireQualifiedAccess>]]
00:01:10 verbose #4202 > > type FileSystemChange =
00:01:10 verbose #4203 > > | Failure of exn: exn
00:01:10 verbose #4204 > > | Changed of path: string * content: string option
00:01:10 verbose #4205 > > | Created of path: string * content: string option
00:01:10 verbose #4206 > > | Deleted of path: string
00:01:10 verbose #4207 > > | Renamed of oldPath: string * (string * string option)
00:01:10 verbose #4208 > >
00:01:10 verbose #4209 > >
00:01:10 verbose #4210 > > let inline watchDirectoryWithFilter filter shouldReadContent path =
00:01:10 verbose #4211 > > let fullPath = path |> System.IO.Path.GetFullPath
00:01:10 verbose #4212 > > let _locals () = $"filter: {filter} / {_locals ()}"
00:01:10 verbose #4213 > >
00:01:10 verbose #4214 > > let watcher =
00:01:10 verbose #4215 > > new System.IO.FileSystemWatcher (
00:01:10 verbose #4216 > > Path = fullPath,
00:01:10 verbose #4217 > > NotifyFilter = filter,
00:01:10 verbose #4218 > > EnableRaisingEvents = true,
00:01:10 verbose #4219 > > IncludeSubdirectories = true
00:01:10 verbose #4220 > > )
00:01:10 verbose #4221 > >
00:01:10 verbose #4222 > > let inline getEventPath (path : string) =
00:01:10 verbose #4223 > > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |>
00:01:10 verbose #4224 > > SpiralSm.trim_start [[| '/'; '\\' |]]
00:01:10 verbose #4225 > >
00:01:10 verbose #4226 > > let inline ticks () =
00:01:10 verbose #4227 > > System.DateTime.UtcNow.Ticks
00:01:10 verbose #4228 > >
00:01:10 verbose #4229 > > let changedStream =
00:01:10 verbose #4230 > > AsyncSeq.subscribeEvent
00:01:10 verbose #4231 > > watcher.Changed
00:01:10 verbose #4232 > > (fun event ->
00:01:10 verbose #4233 > > ticks (),
00:01:10 verbose #4234 > > [[ FileSystemChange.Changed (getEventPath event.FullPath, None)
00:01:10 verbose #4235 > > ]]
00:01:10 verbose #4236 > > )
00:01:10 verbose #4237 > >
00:01:10 verbose #4238 > > let deletedStream =
00:01:10 verbose #4239 > > AsyncSeq.subscribeEvent
00:01:10 verbose #4240 > > watcher.Deleted
00:01:10 verbose #4241 > > (fun event ->
00:01:10 verbose #4242 > > ticks (),
00:01:10 verbose #4243 > > [[ FileSystemChange.Deleted (getEventPath event.FullPath) ]]
00:01:10 verbose #4244 > > )
00:01:10 verbose #4245 > >
00:01:10 verbose #4246 > > let createdStream =
00:01:10 verbose #4247 > > AsyncSeq.subscribeEvent
00:01:10 verbose #4248 > > watcher.Created
00:01:10 verbose #4249 > > (fun event ->
00:01:10 verbose #4250 > > let path = getEventPath event.FullPath
00:01:10 verbose #4251 > > ticks (), [[
00:01:10 verbose #4252 > > FileSystemChange.Created (path, None)
00:01:10 verbose #4253 > > if SpiralRuntime.is_windows () then
00:01:10 verbose #4254 > > FileSystemChange.Changed (path, None)
00:01:10 verbose #4255 > > ]])
00:01:10 verbose #4256 > >
00:01:10 verbose #4257 > > let renamedStream =
00:01:10 verbose #4258 > > AsyncSeq.subscribeEvent
00:01:10 verbose #4259 > > watcher.Renamed
00:01:10 verbose #4260 > > (fun event ->
00:01:10 verbose #4261 > > ticks (), [[
00:01:10 verbose #4262 > > FileSystemChange.Renamed (
00:01:10 verbose #4263 > > getEventPath event.OldFullPath,
00:01:10 verbose #4264 > > (getEventPath event.FullPath, None)
00:01:10 verbose #4265 > > )
00:01:10 verbose #4266 > > ]]
00:01:10 verbose #4267 > > )
00:01:10 verbose #4268 > >
00:01:10 verbose #4269 > > let failureStream =
00:01:10 verbose #4270 > > AsyncSeq.subscribeEvent
00:01:10 verbose #4271 > > watcher.Error
00:01:10 verbose #4272 > > (fun event -> ticks (), [[ FileSystemChange.Failure
00:01:10 verbose #4273 > > (event.GetException ()) ]])
00:01:10 verbose #4274 > >
00:01:10 verbose #4275 > > let stream =
00:01:10 verbose #4276 > > [[
00:01:10 verbose #4277 > > changedStream
00:01:10 verbose #4278 > > deletedStream
00:01:10 verbose #4279 > > createdStream
00:01:10 verbose #4280 > > renamedStream
00:01:10 verbose #4281 > > failureStream
00:01:10 verbose #4282 > > ]]
00:01:10 verbose #4283 > > |> FSharp.Control.AsyncSeq.mergeAll
00:01:10 verbose #4284 > > |> FSharp.Control.AsyncSeq.map (fun (t, events) ->
00:01:10 verbose #4285 > > events
00:01:10 verbose #4286 > > |> List.fold
00:01:10 verbose #4287 > > (fun (i, events) event ->
00:01:10 verbose #4288 > > i + 1L,
00:01:10 verbose #4289 > > (t + i, event) :: events)
00:01:10 verbose #4290 > > (0L, [[]])
00:01:10 verbose #4291 > > |> snd
00:01:10 verbose #4292 > > |> List.rev
00:01:10 verbose #4293 > > )
00:01:10 verbose #4294 > > |> FSharp.Control.AsyncSeq.concatSeq
00:01:10 verbose #4295 > > |> FSharp.Control.AsyncSeq.mapAsyncParallel (fun (t, event) -> async {
00:01:10 verbose #4296 > > match shouldReadContent event, event with
00:01:10 verbose #4297 > > | true, FileSystemChange.Changed (path, _) ->
00:01:10 verbose #4298 > > do! Async.Sleep 5
00:01:10 verbose #4299 > > let! content = fullPath </> path |>
00:01:10 verbose #4300 > > SpiralFileSystem.read_all_text_retry_async
00:01:10 verbose #4301 > > return t, FileSystemChange.Changed (path, content)
00:01:10 verbose #4302 > > | true, FileSystemChange.Created (path, _) ->
00:01:10 verbose #4303 > > do! Async.Sleep 5
00:01:10 verbose #4304 > > let! content = fullPath </> path |>
00:01:10 verbose #4305 > > SpiralFileSystem.read_all_text_retry_async
00:01:10 verbose #4306 > > return t, FileSystemChange.Created (path, content)
00:01:10 verbose #4307 > > | true, FileSystemChange.Renamed (oldPath, (newPath, _)) ->
00:01:10 verbose #4308 > > let! content = fullPath </> newPath |>
00:01:10 verbose #4309 > > SpiralFileSystem.read_all_text_retry_async
00:01:10 verbose #4310 > > return t, FileSystemChange.Renamed (oldPath, (newPath, content))
00:01:10 verbose #4311 > > | _ -> return t, event
00:01:10 verbose #4312 > > })
00:01:10 verbose #4313 > >
00:01:10 verbose #4314 > > let disposable =
00:01:10 verbose #4315 > > new_disposable (fun () ->
00:01:10 verbose #4316 > > trace Debug (fun () -> "watchWithFilter / Disposing watch stream")
00:01:10 verbose #4317 > > _locals
00:01:10 verbose #4318 > > watcher.EnableRaisingEvents <- false
00:01:10 verbose #4319 > > watcher.Dispose ()
00:01:10 verbose #4320 > > )
00:01:10 verbose #4321 > >
00:01:10 verbose #4322 > > stream, disposable
00:01:10 verbose #4323 > >
00:01:10 verbose #4324 > > let inline watchDirectory path =
00:01:10 verbose #4325 > > watchDirectoryWithFilter
00:01:10 verbose #4326 > > (System.IO.NotifyFilters.FileName
00:01:10 verbose #4327 > > // ||| System.IO.NotifyFilters.DirectoryName
00:01:10 verbose #4328 > > // ||| System.IO.NotifyFilters.Attributes
00:01:10 verbose #4329 > > //// ||| System.IO.NotifyFilters.Size
00:01:10 verbose #4330 > > ||| System.IO.NotifyFilters.LastWrite
00:01:10 verbose #4331 > > //// ||| System.IO.NotifyFilters.LastAccess
00:01:10 verbose #4332 > > // ||| System.IO.NotifyFilters.CreationTime
00:01:10 verbose #4333 > > // ||| System.IO.NotifyFilters.Security
00:01:10 verbose #4334 > > )
00:01:10 verbose #4335 > > path
00:01:10 verbose #4336 > >
00:01:10 verbose #4337 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:10 verbose #4338 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:10 verbose #4339 > > │ ### testEventsRaw (test) │
00:01:10 verbose #4340 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:10 verbose #4341 > >
00:01:10 verbose #4342 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:10 verbose #4343 > > //// test
00:01:10 verbose #4344 > >
00:01:10 verbose #4345 > > let inline testEventsRaw
00:01:10 verbose #4346 > > (watchFn : (_ -> bool) -> string -> FSharp.Control.AsyncSeq<int64 *
00:01:10 verbose #4347 > > FileSystemChange> * IDisposable)
00:01:10 verbose #4348 > > write
00:01:10 verbose #4349 > > =
00:01:10 verbose #4350 > > let struct (tempDir, tempDisposable) =
00:01:10 verbose #4351 > > SpiralFileSystem.create_temp_directory ()
00:01:10 verbose #4352 > > let stream, disposable = watchFn (fun _ -> true) tempDir
00:01:10 verbose #4353 > >
00:01:10 verbose #4354 > > let events = System.Collections.Concurrent.ConcurrentBag ()
00:01:10 verbose #4355 > >
00:01:10 verbose #4356 > > let inline iter () =
00:01:10 verbose #4357 > > stream
00:01:10 verbose #4358 > > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async {
00:01:10 verbose #4359 > > events.Add event })
00:01:10 verbose #4360 > >
00:01:10 verbose #4361 > > let run = async {
00:01:10 verbose #4362 > > let! _ = iter () |> Async.StartChild
00:01:10 verbose #4363 > > do! Async.Sleep 250
00:01:10 verbose #4364 > > return! write tempDir
00:01:10 verbose #4365 > > }
00:01:10 verbose #4366 > >
00:01:10 verbose #4367 > > try
00:01:10 verbose #4368 > > run
00:01:10 verbose #4369 > > |> Async.runWithTimeout 60000
00:01:10 verbose #4370 > > |> _assertEqual (Some ())
00:01:10 verbose #4371 > > finally
00:01:10 verbose #4372 > > disposable.Dispose ()
00:01:10 verbose #4373 > > tempDisposable.Dispose ()
00:01:10 verbose #4374 > >
00:01:10 verbose #4375 > > let eventsLog =
00:01:10 verbose #4376 > > events
00:01:10 verbose #4377 > > |> Seq.toList
00:01:10 verbose #4378 > > |> List.sortBy fst
00:01:10 verbose #4379 > > |> List.fold
00:01:10 verbose #4380 > > (fun (prev, acc) (ticks, event) ->
00:01:10 verbose #4381 > > ticks, (ticks, (if prev = 0L then 0L else ticks - prev), event)
00:01:10 verbose #4382 > > :: acc
00:01:10 verbose #4383 > > )
00:01:10 verbose #4384 > > (0L, [[]])
00:01:10 verbose #4385 > > |> snd
00:01:10 verbose #4386 > > |> List.rev
00:01:10 verbose #4387 > > |> List.map (fun (diff, n, event) -> $"{n} / {diff} / {event}" |>
00:01:10 verbose #4388 > > SpiralSm.ellipsis_end 100L)
00:01:10 verbose #4389 > > |> SpiralSm.concat "\n"
00:01:10 verbose #4390 > > let _locals () = $"eventsLog: \n{eventsLog} / {_locals ()}"
00:01:10 verbose #4391 > > trace Debug (fun () -> "testEventsRaw") _locals
00:01:10 verbose #4392 > >
00:01:10 verbose #4393 > > events
00:01:10 verbose #4394 > > |> Seq.toList
00:01:10 verbose #4395 > > |> List.sortBy fst
00:01:10 verbose #4396 > > |> List.map snd
00:01:10 verbose #4397 > > |> List.fold
00:01:10 verbose #4398 > > (fun acc event ->
00:01:10 verbose #4399 > > match acc, event with
00:01:10 verbose #4400 > > | FileSystemChange.Changed (lastPath, Some lastContent) as lastEvent
00:01:10 verbose #4401 > > :: acc,
00:01:10 verbose #4402 > > FileSystemChange.Changed (path, Some content)
00:01:10 verbose #4403 > > when lastPath = path && content |> SpiralSm.starts_with
00:01:10 verbose #4404 > > lastContent
00:01:10 verbose #4405 > > ->
00:01:10 verbose #4406 > > event :: acc
00:01:10 verbose #4407 > > | _ -> event :: acc
00:01:10 verbose #4408 > > )
00:01:10 verbose #4409 > > [[]]
00:01:10 verbose #4410 > > |> List.rev
00:01:11 verbose #4411 > >
00:01:11 verbose #4412 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #4413 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #4414 > > │ #### fast (test) │
00:01:11 verbose #4415 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #4416 > >
00:01:11 verbose #4417 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #4418 > > //// test
00:01:11 verbose #4419 > >
00:01:11 verbose #4420 > > let inline write path = async {
00:01:11 verbose #4421 > > let n = 2
00:01:11 verbose #4422 > >
00:01:11 verbose #4423 > > for i = 1 to n do
00:01:11 verbose #4424 > > do! $"a{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:11 verbose #4425 > > $"file{i}.txt")
00:01:11 verbose #4426 > >
00:01:11 verbose #4427 > > do! Async.Sleep 250
00:01:11 verbose #4428 > >
00:01:11 verbose #4429 > > for i = 1 to n do
00:01:11 verbose #4430 > > do! $"b{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:11 verbose #4431 > > $"file{i}.txt")
00:01:11 verbose #4432 > >
00:01:11 verbose #4433 > > do! Async.Sleep 250
00:01:11 verbose #4434 > >
00:01:11 verbose #4435 > > for i = 1 to n do
00:01:11 verbose #4436 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path
00:01:11 verbose #4437 > > </> $"file_{i}.txt") |> Async.Ignore
00:01:11 verbose #4438 > >
00:01:11 verbose #4439 > > do! Async.Sleep 250
00:01:11 verbose #4440 > >
00:01:11 verbose #4441 > > for i = 1 to n do
00:01:11 verbose #4442 > > do! $"c{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:11 verbose #4443 > > $"file_{i}.txt")
00:01:11 verbose #4444 > >
00:01:11 verbose #4445 > > do! Async.Sleep 250
00:01:11 verbose #4446 > >
00:01:11 verbose #4447 > > for i = 1 to n do
00:01:11 verbose #4448 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |>
00:01:11 verbose #4449 > > Async.Ignore
00:01:11 verbose #4450 > >
00:01:11 verbose #4451 > > do! Async.Sleep 250
00:01:11 verbose #4452 > > }
00:01:11 verbose #4453 > >
00:01:11 verbose #4454 > > let inline run () =
00:01:11 verbose #4455 > > let events = testEventsRaw watchDirectory write
00:01:11 verbose #4456 > >
00:01:11 verbose #4457 > > events
00:01:11 verbose #4458 > > |> _sequenceEqual [[
00:01:11 verbose #4459 > > FileSystemChange.Created ("file1.txt", Some "a1")
00:01:11 verbose #4460 > > FileSystemChange.Changed ("file1.txt", Some "a1")
00:01:11 verbose #4461 > > FileSystemChange.Created ("file2.txt", Some "a2")
00:01:11 verbose #4462 > > FileSystemChange.Changed ("file2.txt", Some "a2")
00:01:11 verbose #4463 > >
00:01:11 verbose #4464 > > FileSystemChange.Changed ("file1.txt", Some "b1")
00:01:11 verbose #4465 > > FileSystemChange.Changed ("file2.txt", Some "b2")
00:01:11 verbose #4466 > >
00:01:11 verbose #4467 > > FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "b1"))
00:01:11 verbose #4468 > > FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "b2"))
00:01:11 verbose #4469 > >
00:01:11 verbose #4470 > > FileSystemChange.Changed ("file_1.txt", Some "c1")
00:01:11 verbose #4471 > > FileSystemChange.Changed ("file_2.txt", Some "c2")
00:01:11 verbose #4472 > >
00:01:11 verbose #4473 > > FileSystemChange.Deleted "file_1.txt"
00:01:11 verbose #4474 > > FileSystemChange.Deleted "file_2.txt"
00:01:11 verbose #4475 > > ]]
00:01:11 verbose #4476 > >
00:01:11 verbose #4477 > > run
00:01:11 verbose #4478 > > |> retry_fn 3
00:01:11 verbose #4479 > > |> _assertEqual (Some ())
00:01:13 verbose #4480 > >
00:01:13 verbose #4481 > > ╭─[ 2.48s - stdout ]───────────────────────────────────────────────────────────╮
00:01:13 verbose #4482 > > │ Some () │
00:01:13 verbose #4483 > > │ │
00:01:13 verbose #4484 > > │ 00:00:04 debug #1 watchWithFilter / Disposing watch stream / filter: │
00:01:13 verbose #4485 > > │ FileName, LastWrite │
00:01:13 verbose #4486 > > │ 00:00:04 debug #2 testEventsRaw / eventsLog: │
00:01:13 verbose #4487 > > │ 0 / 638518086677950106 / Created ("file1.txt", Some "a1") │
00:01:13 verbose #4488 > > │ 17185 / 638518086677967291 / Changed ("file1.txt", Some "a1") │
00:01:13 verbose #4489 > > │ 2220 / 638518086677969511 / Created ("file2.txt", Some "a2") │
00:01:13 verbose #4490 > > │ 52 / 638518086677969563 / Changed ("file2.txt", Some "a2") │
00:01:13 verbose #4491 > > │ 2490873 / 638518086680460436 / Changed ("file1.txt", Some "b1") │
00:01:13 verbose #4492 > > │ 703 / 638518086680461139 / Changed ("file1.txt", Some "b1") │
00:01:13 verbose #4493 > > │ 4498 / 638518086680465637 / Changed ("file2.txt", Some "b2") │
00:01:13 verbose #4494 > > │ 1940 / 638518086680467577 / Changed ("file2.txt", Some "b2") │
00:01:13 verbose #4495 > > │ 2560226 / 638518086683027803 / Renamed ("file1.txt", ("file_1.txt", Some │
00:01:13 verbose #4496 > > │ "b1")) │
00:01:13 verbose #4497 > > │ 5892 / 638518086683033695 / Renamed ("file2.txt", ("file_2.txt", Some "b2")) │
00:01:13 verbose #4498 > > │ 2519206 / 638518086685552901 / Changed ("file_1.txt", Some "c1") │
00:01:13 verbose #4499 > > │ 4186 / 638518086685557087 / Changed ("file_1.txt", Some "c1") │
00:01:13 verbose #4500 > > │ 4493 / 638518086685561580 / Changed ("file_2.txt", Some "c2") │
00:01:13 verbose #4501 > > │ 169 / 638518086685561749 / Changed ("file_2.txt", Some "c2") │
00:01:13 verbose #4502 > > │ 2556685 / 638518086688118434 / Deleted "file_1.txt" │
00:01:13 verbose #4503 > > │ 1024 / 638518086688119458 / Deleted "file_2.txt" │
00:01:13 verbose #4504 > > │ [Created ("file1.txt", Some "a1"); Changed ("file1.txt", Some "a1"); Created │
00:01:13 verbose #4505 > > │ ("file2.txt", Some "a2"); │
00:01:13 verbose #4506 > > │ Changed ("file2.txt", Some "a2"); Changed ("file1.txt", Some "b1"); Changed │
00:01:13 verbose #4507 > > │ ("file2.txt", Some "b2"); │
00:01:13 verbose #4508 > > │ Renamed ("file1.txt", ("file_1.txt", Some "b1")); Renamed ("file2.txt", │
00:01:13 verbose #4509 > > │ ("file_2.txt", Some "b2")); │
00:01:13 verbose #4510 > > │ Changed ("file_1.txt", Some "c1"); Changed ("file_2.txt", Some "c2"); │
00:01:13 verbose #4511 > > │ Deleted "file_1.txt"; Deleted "file_2.txt"] │
00:01:13 verbose #4512 > > │ │
00:01:13 verbose #4513 > > │ Some () │
00:01:13 verbose #4514 > > │ │
00:01:13 verbose #4515 > > │ │
00:01:13 verbose #4516 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #4517 > >
00:01:13 verbose #4518 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #4519 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #4520 > > │ #### slow (test) │
00:01:13 verbose #4521 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #4522 > >
00:01:13 verbose #4523 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #4524 > > //// test
00:01:13 verbose #4525 > >
00:01:13 verbose #4526 > > let inline write path = async {
00:01:13 verbose #4527 > > let n = 2
00:01:13 verbose #4528 > >
00:01:13 verbose #4529 > > let contents =
00:01:13 verbose #4530 > > [[ 1 .. n ]]
00:01:13 verbose #4531 > > |> List.map (string >> String.replicate 1_000_000)
00:01:13 verbose #4532 > >
00:01:13 verbose #4533 > > for i = 1 to n do
00:01:13 verbose #4534 > > do! $"{contents.[[i - 1]]}a" |> SpiralFileSystem.write_all_text_async
00:01:13 verbose #4535 > > (path </> $"file{i}.txt")
00:01:13 verbose #4536 > >
00:01:13 verbose #4537 > > do! Async.Sleep 1500
00:01:13 verbose #4538 > >
00:01:13 verbose #4539 > > for i = 1 to n do
00:01:13 verbose #4540 > > do! $"{contents.[[i - 1]]}b" |> SpiralFileSystem.write_all_text_async
00:01:13 verbose #4541 > > (path </> $"file{i}.txt")
00:01:13 verbose #4542 > >
00:01:13 verbose #4543 > > do! Async.Sleep 1500
00:01:13 verbose #4544 > >
00:01:13 verbose #4545 > > for i = 1 to n do
00:01:13 verbose #4546 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path
00:01:13 verbose #4547 > > </> $"file_{i}.txt") |> Async.Ignore
00:01:13 verbose #4548 > >
00:01:13 verbose #4549 > > do! Async.Sleep 1500
00:01:13 verbose #4550 > >
00:01:13 verbose #4551 > > for i = 1 to n do
00:01:13 verbose #4552 > > do! $"{contents.[[i - 1]]}c" |> SpiralFileSystem.write_all_text_async
00:01:13 verbose #4553 > > (path </> $"file_{i}.txt")
00:01:13 verbose #4554 > >
00:01:13 verbose #4555 > > do! Async.Sleep 1500
00:01:13 verbose #4556 > >
00:01:13 verbose #4557 > > for i = 1 to n do
00:01:13 verbose #4558 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |>
00:01:13 verbose #4559 > > Async.Ignore
00:01:13 verbose #4560 > >
00:01:13 verbose #4561 > > do! Async.Sleep 1500
00:01:13 verbose #4562 > > }
00:01:13 verbose #4563 > >
00:01:13 verbose #4564 > > let inline run () =
00:01:13 verbose #4565 > > let events =
00:01:13 verbose #4566 > > testEventsRaw watchDirectory write
00:01:13 verbose #4567 > > |> List.map (function
00:01:13 verbose #4568 > > | FileSystemChange.Changed (path, Some content) ->
00:01:13 verbose #4569 > > FileSystemChange.Changed (path, content |> Seq.distinct |>
00:01:13 verbose #4570 > > Seq.map string |> SpiralSm.concat "" |> Some)
00:01:13 verbose #4571 > > | FileSystemChange.Created (path, Some content) ->
00:01:13 verbose #4572 > > FileSystemChange.Created (path, content |> Seq.distinct |>
00:01:13 verbose #4573 > > Seq.map string |> SpiralSm.concat "" |> Some)
00:01:13 verbose #4574 > > | FileSystemChange.Renamed (oldPath, (newPath, Some content)) ->
00:01:13 verbose #4575 > > FileSystemChange.Renamed (
00:01:13 verbose #4576 > > oldPath,
00:01:13 verbose #4577 > > (newPath, content |> Seq.distinct |> Seq.map string |>
00:01:13 verbose #4578 > > SpiralSm.concat "" |> Some)
00:01:13 verbose #4579 > > )
00:01:13 verbose #4580 > > | event -> event
00:01:13 verbose #4581 > > )
00:01:13 verbose #4582 > >
00:01:13 verbose #4583 > > events
00:01:13 verbose #4584 > > |> _sequenceEqual [[
00:01:13 verbose #4585 > > FileSystemChange.Created ("file1.txt", Some "1a")
00:01:13 verbose #4586 > > FileSystemChange.Changed ("file1.txt", Some "1a")
00:01:13 verbose #4587 > > FileSystemChange.Created ("file2.txt", Some "2a")
00:01:13 verbose #4588 > > FileSystemChange.Changed ("file2.txt", Some "2a")
00:01:13 verbose #4589 > >
00:01:13 verbose #4590 > > FileSystemChange.Changed ("file1.txt", Some "1b")
00:01:13 verbose #4591 > > FileSystemChange.Changed ("file2.txt", Some "2b")
00:01:13 verbose #4592 > >
00:01:13 verbose #4593 > > FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "1b"))
00:01:13 verbose #4594 > > FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "2b"))
00:01:13 verbose #4595 > >
00:01:13 verbose #4596 > > FileSystemChange.Changed ("file_1.txt", Some "1c")
00:01:13 verbose #4597 > > FileSystemChange.Changed ("file_2.txt", Some "2c")
00:01:13 verbose #4598 > >
00:01:13 verbose #4599 > > FileSystemChange.Deleted "file_1.txt"
00:01:13 verbose #4600 > > FileSystemChange.Deleted "file_2.txt"
00:01:13 verbose #4601 > > ]]
00:01:13 verbose #4602 > >
00:01:13 verbose #4603 > > run
00:01:13 verbose #4604 > > |> retry_fn 5
00:01:13 verbose #4605 > > |> _assertEqual (Some ())
00:01:25 verbose #4606 > >
00:01:25 verbose #4607 > > ╭─[ 12.01s - stdout ]──────────────────────────────────────────────────────────╮
00:01:25 verbose #4608 > > │ Some () │
00:01:25 verbose #4609 > > │ │
00:01:25 verbose #4610 > > │ 00:00:13 debug #3 watchWithFilter / Disposing watch stream / filter: │
00:01:25 verbose #4611 > > │ FileName, LastWrite │
00:01:25 verbose #4612 > > │ 00:00:15 debug #4 testEventsRaw / eventsLog: │
00:01:25 verbose #4613 > > │ 0 / 638518086704061533 / Created │
00:01:25 verbose #4614 > > │ ("file1.txt", │
00:01:25 verbose #4615 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4616 > > │ 2996 / 638518086704064529 / Changed │
00:01:25 verbose #4617 > > │ ("file1.txt"...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4618 > > │ 295 / 638518086704064824 / Changed │
00:01:25 verbose #4619 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4620 > > │ 78 / 638518086704064902 / Changed │
00:01:25 verbose #4621 > > │ ("file1.txt", │
00:01:25 verbose #4622 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4623 > > │ 385 / 638518086704065287 / Changed │
00:01:25 verbose #4624 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4625 > > │ 264 / 638518086704065551 / Changed │
00:01:25 verbose #4626 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4627 > > │ 343 / 638518086704065894 / Changed │
00:01:25 verbose #4628 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4629 > > │ 257 / 638518086704066151 / Changed │
00:01:25 verbose #4630 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4631 > > │ 259 / 638518086704066410 / Changed │
00:01:25 verbose #4632 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4633 > > │ 253 / 638518086704066663 / Changed │
00:01:25 verbose #4634 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4635 > > │ 371 / 638518086704067034 / Changed │
00:01:25 verbose #4636 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4637 > > │ 218 / 638518086704067252 / Changed │
00:01:25 verbose #4638 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4639 > > │ 274 / 638518086704067526 / Changed │
00:01:25 verbose #4640 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4641 > > │ 55 / 638518086704067581 / Changed │
00:01:25 verbose #4642 > > │ ("file1.txt", │
00:01:25 verbose #4643 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4644 > > │ 270 / 638518086704067851 / Changed │
00:01:25 verbose #4645 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4646 > > │ 342 / 638518086704068193 / Changed │
00:01:25 verbose #4647 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4648 > > │ 135 / 638518086704068328 / Changed │
00:01:25 verbose #4649 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4650 > > │ 181 / 638518086704068509 / Changed │
00:01:25 verbose #4651 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4652 > > │ 113 / 638518086704068622 / Changed │
00:01:25 verbose #4653 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4654 > > │ 172 / 638518086704068794 / Changed │
00:01:25 verbose #4655 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4656 > > │ 170 / 638518086704068964 / Changed │
00:01:25 verbose #4657 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4658 > > │ 220 / 638518086704069184 / Changed │
00:01:25 verbose #4659 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4660 > > │ 188 / 638518086704069372 / Changed │
00:01:25 verbose #4661 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4662 > > │ 170 / 638518086704069542 / Changed │
00:01:25 verbose #4663 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4664 > > │ 161 / 638518086704069703 / Changed │
00:01:25 verbose #4665 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4666 > > │ 159 / 638518086704069862 / Changed │
00:01:25 verbose #4667 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4668 > > │ 166 / 638518086704070028 / Changed │
00:01:25 verbose #4669 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4670 > > │ 171 / 638518086704070199 / Changed │
00:01:25 verbose #4671 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4672 > > │ 187 / 638518086704070386 / Changed │
00:01:25 verbose #4673 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4674 > > │ 176 / 638518086704070562 / Changed │
00:01:25 verbose #4675 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4676 > > │ 163 / 638518086704070725 / Changed │
00:01:25 verbose #4677 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4678 > > │ 283 / 638518086704071008 / Changed │
00:01:25 verbose #4679 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4680 > > │ 127 / 638518086704071135 / Changed │
00:01:25 verbose #4681 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4682 > > │ 234 / 638518086704071369 / Changed │
00:01:25 verbose #4683 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4684 > > │ 222 / 638518086704071591 / Changed │
00:01:25 verbose #4685 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4686 > > │ 186 / 638518086704071777 / Changed │
00:01:25 verbose #4687 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4688 > > │ 500 / 638518086704072277 / Changed │
00:01:25 verbose #4689 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4690 > > │ 509 / 638518086704072786 / Changed │
00:01:25 verbose #4691 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4692 > > │ 271 / 638518086704073057 / Changed │
00:01:25 verbose #4693 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4694 > > │ 305 / 638518086704073362 / Changed │
00:01:25 verbose #4695 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4696 > > │ 239 / 638518086704073601 / Changed │
00:01:25 verbose #4697 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4698 > > │ 207 / 638518086704073808 / Changed │
00:01:25 verbose #4699 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4700 > > │ 147 / 638518086704073955 / Changed │
00:01:25 verbose #4701 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4702 > > │ 311 / 638518086704074266 / Changed │
00:01:25 verbose #4703 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4704 > > │ 60 / 638518086704074326 / Changed │
00:01:25 verbose #4705 > > │ ("file1.txt", │
00:01:25 verbose #4706 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4707 > > │ 267 / 638518086704074593 / Changed │
00:01:25 verbose #4708 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4709 > > │ 198 / 638518086704074791 / Changed │
00:01:25 verbose #4710 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4711 > > │ 191 / 638518086704074982 / Changed │
00:01:25 verbose #4712 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4713 > > │ 199 / 638518086704075181 / Changed │
00:01:25 verbose #4714 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4715 > > │ 236 / 638518086704075417 / Changed │
00:01:25 verbose #4716 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4717 > > │ 291 / 638518086704075708 / Changed │
00:01:25 verbose #4718 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4719 > > │ 211 / 638518086704075919 / Changed │
00:01:25 verbose #4720 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4721 > > │ 299 / 638518086704076218 / Changed │
00:01:25 verbose #4722 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4723 > > │ 149 / 638518086704076367 / Changed │
00:01:25 verbose #4724 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4725 > > │ 193 / 638518086704076560 / Changed │
00:01:25 verbose #4726 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4727 > > │ 202 / 638518086704076762 / Changed │
00:01:25 verbose #4728 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4729 > > │ 226 / 638518086704076988 / Changed │
00:01:25 verbose #4730 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4731 > > │ 185 / 638518086704077173 / Changed │
00:01:25 verbose #4732 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4733 > > │ 194 / 638518086704077367 / Changed │
00:01:25 verbose #4734 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4735 > > │ 264 / 638518086704077631 / Changed │
00:01:25 verbose #4736 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4737 > > │ 224 / 638518086704077855 / Changed │
00:01:25 verbose #4738 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4739 > > │ 203 / 638518086704078058 / Changed │
00:01:25 verbose #4740 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4741 > > │ 198 / 638518086704078256 / Changed │
00:01:25 verbose #4742 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4743 > > │ 158 / 638518086704078414 / Changed │
00:01:25 verbose #4744 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4745 > > │ 198 / 638518086704078612 / Changed │
00:01:25 verbose #4746 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4747 > > │ 178 / 638518086704078790 / Changed │
00:01:25 verbose #4748 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4749 > > │ 150 / 638518086704078940 / Changed │
00:01:25 verbose #4750 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4751 > > │ 251 / 638518086704079191 / Changed │
00:01:25 verbose #4752 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4753 > > │ 58 / 638518086704079249 / Changed │
00:01:25 verbose #4754 > > │ ("file1.txt", │
00:01:25 verbose #4755 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4756 > > │ 284 / 638518086704079533 / Changed │
00:01:25 verbose #4757 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4758 > > │ 59 / 638518086704079592 / Changed │
00:01:25 verbose #4759 > > │ ("file1.txt", │
00:01:25 verbose #4760 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4761 > > │ 252 / 638518086704079844 / Changed │
00:01:25 verbose #4762 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4763 > > │ 226 / 638518086704080070 / Changed │
00:01:25 verbose #4764 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4765 > > │ 177 / 638518086704080247 / Changed │
00:01:25 verbose #4766 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4767 > > │ 194 / 638518086704080441 / Changed │
00:01:25 verbose #4768 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4769 > > │ 187 / 638518086704080628 / Changed │
00:01:25 verbose #4770 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4771 > > │ 126 / 638518086704080754 / Changed │
00:01:25 verbose #4772 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4773 > > │ 236 / 638518086704080990 / Changed │
00:01:25 verbose #4774 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4775 > > │ 186 / 638518086704081176 / Changed │
00:01:25 verbose #4776 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4777 > > │ 287 / 638518086704081463 / Changed │
00:01:25 verbose #4778 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4779 > > │ 60 / 638518086704081523 / Changed │
00:01:25 verbose #4780 > > │ ("file1.txt", │
00:01:25 verbose #4781 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4782 > > │ 250 / 638518086704081773 / Changed │
00:01:25 verbose #4783 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4784 > > │ 59 / 638518086704081832 / Changed │
00:01:25 verbose #4785 > > │ ("file1.txt", │
00:01:25 verbose #4786 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4787 > > │ 406 / 638518086704082238 / Changed │
00:01:25 verbose #4788 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4789 > > │ 262 / 638518086704082500 / Changed │
00:01:25 verbose #4790 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4791 > > │ 135 / 638518086704082635 / Changed │
00:01:25 verbose #4792 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4793 > > │ 169 / 638518086704082804 / Changed │
00:01:25 verbose #4794 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4795 > > │ 50 / 638518086704082854 / Changed │
00:01:25 verbose #4796 > > │ ("file1.txt", │
00:01:25 verbose #4797 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4798 > > │ 202 / 638518086704083056 / Changed │
00:01:25 verbose #4799 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4800 > > │ 59 / 638518086704083115 / Changed │
00:01:25 verbose #4801 > > │ ("file1.txt", │
00:01:25 verbose #4802 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4803 > > │ 42 / 638518086704083157 / Changed │
00:01:25 verbose #4804 > > │ ("file1.txt", │
00:01:25 verbose #4805 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4806 > > │ 186 / 638518086704083343 / Changed │
00:01:25 verbose #4807 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4808 > > │ 53 / 638518086704083396 / Changed │
00:01:25 verbose #4809 > > │ ("file1.txt", │
00:01:25 verbose #4810 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4811 > > │ 186 / 638518086704083582 / Changed │
00:01:25 verbose #4812 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4813 > > │ 56 / 638518086704083638 / Changed │
00:01:25 verbose #4814 > > │ ("file1.txt", │
00:01:25 verbose #4815 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4816 > > │ 144 / 638518086704083782 / Changed │
00:01:25 verbose #4817 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4818 > > │ 45 / 638518086704083827 / Changed │
00:01:25 verbose #4819 > > │ ("file1.txt", │
00:01:25 verbose #4820 > > │ ...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4821 > > │ 194 / 638518086704084021 / Changed │
00:01:25 verbose #4822 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │
00:01:25 verbose #4823 > > │ 16367 / 638518086704100388 / Created │
00:01:25 verbose #4824 > > │ ("file2.txt...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4825 > > │ 159 / 638518086704100547 / Changed │
00:01:25 verbose #4826 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4827 > > │ 560 / 638518086704101107 / Changed │
00:01:25 verbose #4828 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4829 > > │ 81 / 638518086704101188 / Changed │
00:01:25 verbose #4830 > > │ ("file2.txt", │
00:01:25 verbose #4831 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4832 > > │ 157 / 638518086704101345 / Changed │
00:01:25 verbose #4833 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4834 > > │ 146 / 638518086704101491 / Changed │
00:01:25 verbose #4835 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4836 > > │ 413 / 638518086704101904 / Changed │
00:01:25 verbose #4837 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4838 > > │ 57 / 638518086704101961 / Changed │
00:01:25 verbose #4839 > > │ ("file2.txt", │
00:01:25 verbose #4840 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4841 > > │ 188 / 638518086704102149 / Changed │
00:01:25 verbose #4842 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4843 > > │ 194 / 638518086704102343 / Changed │
00:01:25 verbose #4844 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4845 > > │ 167 / 638518086704102510 / Changed │
00:01:25 verbose #4846 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4847 > > │ 149 / 638518086704102659 / Changed │
00:01:25 verbose #4848 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4849 > > │ 167 / 638518086704102826 / Changed │
00:01:25 verbose #4850 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4851 > > │ 150 / 638518086704102976 / Changed │
00:01:25 verbose #4852 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4853 > > │ 178 / 638518086704103154 / Changed │
00:01:25 verbose #4854 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4855 > > │ 320 / 638518086704103474 / Changed │
00:01:25 verbose #4856 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4857 > > │ 496 / 638518086704103970 / Changed │
00:01:25 verbose #4858 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4859 > > │ 202 / 638518086704104172 / Changed │
00:01:25 verbose #4860 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4861 > > │ 209 / 638518086704104381 / Changed │
00:01:25 verbose #4862 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4863 > > │ 221 / 638518086704104602 / Changed │
00:01:25 verbose #4864 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4865 > > │ 210 / 638518086704104812 / Changed │
00:01:25 verbose #4866 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4867 > > │ 315 / 638518086704105127 / Changed │
00:01:25 verbose #4868 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4869 > > │ 195 / 638518086704105322 / Changed │
00:01:25 verbose #4870 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4871 > > │ 319 / 638518086704105641 / Changed │
00:01:25 verbose #4872 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4873 > > │ 114 / 638518086704105755 / Changed │
00:01:25 verbose #4874 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4875 > > │ 213 / 638518086704105968 / Changed │
00:01:25 verbose #4876 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4877 > > │ 825 / 638518086704106793 / Changed │
00:01:25 verbose #4878 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4879 > > │ 68 / 638518086704106861 / Changed │
00:01:25 verbose #4880 > > │ ("file2.txt", │
00:01:25 verbose #4881 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4882 > > │ 212 / 638518086704107073 / Changed │
00:01:25 verbose #4883 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4884 > > │ 239 / 638518086704107312 / Changed │
00:01:25 verbose #4885 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4886 > > │ 466 / 638518086704107778 / Changed │
00:01:25 verbose #4887 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4888 > > │ 162 / 638518086704107940 / Changed │
00:01:25 verbose #4889 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4890 > > │ 222 / 638518086704108162 / Changed │
00:01:25 verbose #4891 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4892 > > │ 178 / 638518086704108340 / Changed │
00:01:25 verbose #4893 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4894 > > │ 157 / 638518086704108497 / Changed │
00:01:25 verbose #4895 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4896 > > │ 165 / 638518086704108662 / Changed │
00:01:25 verbose #4897 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4898 > > │ 186 / 638518086704108848 / Changed │
00:01:25 verbose #4899 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4900 > > │ 228 / 638518086704109076 / Changed │
00:01:25 verbose #4901 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4902 > > │ 216 / 638518086704109292 / Changed │
00:01:25 verbose #4903 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4904 > > │ 162 / 638518086704109454 / Changed │
00:01:25 verbose #4905 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4906 > > │ 254 / 638518086704109708 / Changed │
00:01:25 verbose #4907 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4908 > > │ 191 / 638518086704109899 / Changed │
00:01:25 verbose #4909 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4910 > > │ 808 / 638518086704110707 / Changed │
00:01:25 verbose #4911 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4912 > > │ 67 / 638518086704110774 / Changed │
00:01:25 verbose #4913 > > │ ("file2.txt", │
00:01:25 verbose #4914 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4915 > > │ 184 / 638518086704110958 / Changed │
00:01:25 verbose #4916 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4917 > > │ 204 / 638518086704111162 / Changed │
00:01:25 verbose #4918 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4919 > > │ 157 / 638518086704111319 / Changed │
00:01:25 verbose #4920 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4921 > > │ 155 / 638518086704111474 / Changed │
00:01:25 verbose #4922 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4923 > > │ 194 / 638518086704111668 / Changed │
00:01:25 verbose #4924 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4925 > > │ 172 / 638518086704111840 / Changed │
00:01:25 verbose #4926 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4927 > > │ 192 / 638518086704112032 / Changed │
00:01:25 verbose #4928 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4929 > > │ 190 / 638518086704112222 / Changed │
00:01:25 verbose #4930 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4931 > > │ 168 / 638518086704112390 / Changed │
00:01:25 verbose #4932 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4933 > > │ 166 / 638518086704112556 / Changed │
00:01:25 verbose #4934 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4935 > > │ 166 / 638518086704112722 / Changed │
00:01:25 verbose #4936 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4937 > > │ 186 / 638518086704112908 / Changed │
00:01:25 verbose #4938 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4939 > > │ 223 / 638518086704113131 / Changed │
00:01:25 verbose #4940 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4941 > > │ 228 / 638518086704113359 / Changed │
00:01:25 verbose #4942 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4943 > > │ 56 / 638518086704113415 / Changed │
00:01:25 verbose #4944 > > │ ("file2.txt", │
00:01:25 verbose #4945 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4946 > > │ 183 / 638518086704113598 / Changed │
00:01:25 verbose #4947 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4948 > > │ 178 / 638518086704113776 / Changed │
00:01:25 verbose #4949 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4950 > > │ 183 / 638518086704113959 / Changed │
00:01:25 verbose #4951 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4952 > > │ 189 / 638518086704114148 / Changed │
00:01:25 verbose #4953 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4954 > > │ 252 / 638518086704114400 / Changed │
00:01:25 verbose #4955 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4956 > > │ 58 / 638518086704114458 / Changed │
00:01:25 verbose #4957 > > │ ("file2.txt", │
00:01:25 verbose #4958 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4959 > > │ 182 / 638518086704114640 / Changed │
00:01:25 verbose #4960 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4961 > > │ 178 / 638518086704114818 / Changed │
00:01:25 verbose #4962 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4963 > > │ 911 / 638518086704115729 / Changed │
00:01:25 verbose #4964 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4965 > > │ 79 / 638518086704115808 / Changed │
00:01:25 verbose #4966 > > │ ("file2.txt", │
00:01:25 verbose #4967 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4968 > > │ 139 / 638518086704115947 / Changed │
00:01:25 verbose #4969 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4970 > > │ 142 / 638518086704116089 / Changed │
00:01:25 verbose #4971 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4972 > > │ 233 / 638518086704116322 / Changed │
00:01:25 verbose #4973 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4974 > > │ 947 / 638518086704117269 / Changed │
00:01:25 verbose #4975 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4976 > > │ 81 / 638518086704117350 / Changed │
00:01:25 verbose #4977 > > │ ("file2.txt", │
00:01:25 verbose #4978 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4979 > > │ 113 / 638518086704117463 / Changed │
00:01:25 verbose #4980 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4981 > > │ 166 / 638518086704117629 / Changed │
00:01:25 verbose #4982 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4983 > > │ 886 / 638518086704118515 / Changed │
00:01:25 verbose #4984 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4985 > > │ 158 / 638518086704118673 / Changed │
00:01:25 verbose #4986 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4987 > > │ 379 / 638518086704119052 / Changed │
00:01:25 verbose #4988 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4989 > > │ 183 / 638518086704119235 / Changed │
00:01:25 verbose #4990 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4991 > > │ 613 / 638518086704119848 / Changed │
00:01:25 verbose #4992 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4993 > > │ 211 / 638518086704120059 / Changed │
00:01:25 verbose #4994 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4995 > > │ 249 / 638518086704120308 / Changed │
00:01:25 verbose #4996 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4997 > > │ 205 / 638518086704120513 / Changed │
00:01:25 verbose #4998 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #4999 > > │ 181 / 638518086704120694 / Changed │
00:01:25 verbose #5000 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5001 > > │ 184 / 638518086704120878 / Changed │
00:01:25 verbose #5002 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5003 > > │ 162 / 638518086704121040 / Changed │
00:01:25 verbose #5004 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5005 > > │ 197 / 638518086704121237 / Changed │
00:01:25 verbose #5006 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5007 > > │ 161 / 638518086704121398 / Changed │
00:01:25 verbose #5008 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5009 > > │ 180 / 638518086704121578 / Changed │
00:01:25 verbose #5010 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5011 > > │ 198 / 638518086704121776 / Changed │
00:01:25 verbose #5012 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5013 > > │ 366 / 638518086704122142 / Changed │
00:01:25 verbose #5014 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5015 > > │ 647 / 638518086704122789 / Changed │
00:01:25 verbose #5016 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5017 > > │ 63 / 638518086704122852 / Changed │
00:01:25 verbose #5018 > > │ ("file2.txt", │
00:01:25 verbose #5019 > > │ ...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5020 > > │ 213 / 638518086704123065 / Changed │
00:01:25 verbose #5021 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5022 > > │ 218 / 638518086704123283 / Changed │
00:01:25 verbose #5023 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5024 > > │ 187 / 638518086704123470 / Changed │
00:01:25 verbose #5025 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5026 > > │ 222 / 638518086704123692 / Changed │
00:01:25 verbose #5027 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5028 > > │ 264 / 638518086704123956 / Changed │
00:01:25 verbose #5029 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5030 > > │ 209 / 638518086704124165 / Changed │
00:01:25 verbose #5031 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5032 > > │ 188 / 638518086704124353 / Changed │
00:01:25 verbose #5033 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5034 > > │ 150 / 638518086704124503 / Changed │
00:01:25 verbose #5035 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │
00:01:25 verbose #5036 > > │ 15082829 / 638518086719207332 / Changed │
00:01:25 verbose #5037 > > │ ("file1....11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5038 > > │ 386 / 638518086719207718 / Changed │
00:01:25 verbose #5039 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5040 > > │ 977 / 638518086719208695 / Changed │
00:01:25 verbose #5041 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5042 > > │ 716 / 638518086719209411 / Changed │
00:01:25 verbose #5043 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5044 > > │ 283 / 638518086719209694 / Changed │
00:01:25 verbose #5045 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5046 > > │ 205 / 638518086719209899 / Changed │
00:01:25 verbose #5047 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5048 > > │ 220 / 638518086719210119 / Changed │
00:01:25 verbose #5049 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5050 > > │ 143 / 638518086719210262 / Changed │
00:01:25 verbose #5051 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5052 > > │ 277 / 638518086719210539 / Changed │
00:01:25 verbose #5053 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5054 > > │ 25 / 638518086719210564 / Changed │
00:01:25 verbose #5055 > > │ ("file1.txt", │
00:01:25 verbose #5056 > > │ ...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5057 > > │ 221 / 638518086719210785 / Changed │
00:01:25 verbose #5058 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5059 > > │ 156 / 638518086719210941 / Changed │
00:01:25 verbose #5060 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5061 > > │ 220 / 638518086719211161 / Changed │
00:01:25 verbose #5062 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5063 > > │ 188 / 638518086719211349 / Changed │
00:01:25 verbose #5064 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5065 > > │ 204 / 638518086719211553 / Changed │
00:01:25 verbose #5066 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5067 > > │ 185 / 638518086719211738 / Changed │
00:01:25 verbose #5068 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5069 > > │ 278 / 638518086719212016 / Changed │
00:01:25 verbose #5070 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5071 > > │ 262 / 638518086719212278 / Changed │
00:01:25 verbose #5072 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5073 > > │ 244 / 638518086719212522 / Changed │
00:01:25 verbose #5074 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5075 > > │ 253 / 638518086719212775 / Changed │
00:01:25 verbose #5076 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5077 > > │ 216 / 638518086719212991 / Changed │
00:01:25 verbose #5078 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5079 > > │ 182 / 638518086719213173 / Changed │
00:01:25 verbose #5080 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5081 > > │ 178 / 638518086719213351 / Changed │
00:01:25 verbose #5082 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5083 > > │ 252 / 638518086719213603 / Changed │
00:01:25 verbose #5084 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5085 > > │ 179 / 638518086719213782 / Changed │
00:01:25 verbose #5086 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5087 > > │ 275 / 638518086719214057 / Changed │
00:01:25 verbose #5088 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5089 > > │ 195 / 638518086719214252 / Changed │
00:01:25 verbose #5090 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5091 > > │ 178 / 638518086719214430 / Changed │
00:01:25 verbose #5092 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5093 > > │ 187 / 638518086719214617 / Changed │
00:01:25 verbose #5094 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5095 > > │ 365 / 638518086719214982 / Changed │
00:01:25 verbose #5096 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5097 > > │ 150 / 638518086719215132 / Changed │
00:01:25 verbose #5098 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5099 > > │ 192 / 638518086719215324 / Changed │
00:01:25 verbose #5100 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5101 > > │ 163 / 638518086719215487 / Changed │
00:01:25 verbose #5102 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5103 > > │ 169 / 638518086719215656 / Changed │
00:01:25 verbose #5104 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5105 > > │ 231 / 638518086719215887 / Changed │
00:01:25 verbose #5106 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5107 > > │ 362 / 638518086719216249 / Changed │
00:01:25 verbose #5108 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5109 > > │ 204 / 638518086719216453 / Changed │
00:01:25 verbose #5110 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5111 > > │ 176 / 638518086719216629 / Changed │
00:01:25 verbose #5112 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5113 > > │ 166 / 638518086719216795 / Changed │
00:01:25 verbose #5114 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5115 > > │ 184 / 638518086719216979 / Changed │
00:01:25 verbose #5116 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5117 > > │ 243 / 638518086719217222 / Changed │
00:01:25 verbose #5118 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5119 > > │ 160 / 638518086719217382 / Changed │
00:01:25 verbose #5120 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5121 > > │ 198 / 638518086719217580 / Changed │
00:01:25 verbose #5122 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5123 > > │ 171 / 638518086719217751 / Changed │
00:01:25 verbose #5124 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5125 > > │ 158 / 638518086719217909 / Changed │
00:01:25 verbose #5126 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5127 > > │ 209 / 638518086719218118 / Changed │
00:01:25 verbose #5128 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5129 > > │ 312 / 638518086719218430 / Changed │
00:01:25 verbose #5130 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5131 > > │ 196 / 638518086719218626 / Changed │
00:01:25 verbose #5132 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5133 > > │ 203 / 638518086719218829 / Changed │
00:01:25 verbose #5134 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5135 > > │ 167 / 638518086719218996 / Changed │
00:01:25 verbose #5136 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5137 > > │ 183 / 638518086719219179 / Changed │
00:01:25 verbose #5138 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5139 > > │ 167 / 638518086719219346 / Changed │
00:01:25 verbose #5140 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5141 > > │ 166 / 638518086719219512 / Changed │
00:01:25 verbose #5142 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5143 > > │ 169 / 638518086719219681 / Changed │
00:01:25 verbose #5144 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5145 > > │ 164 / 638518086719219845 / Changed │
00:01:25 verbose #5146 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5147 > > │ 178 / 638518086719220023 / Changed │
00:01:25 verbose #5148 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5149 > > │ 208 / 638518086719220231 / Changed │
00:01:25 verbose #5150 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5151 > > │ 182 / 638518086719220413 / Changed │
00:01:25 verbose #5152 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5153 > > │ 167 / 638518086719220580 / Changed │
00:01:25 verbose #5154 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5155 > > │ 198 / 638518086719220778 / Changed │
00:01:25 verbose #5156 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5157 > > │ 295 / 638518086719221073 / Changed │
00:01:25 verbose #5158 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5159 > > │ 255 / 638518086719221328 / Changed │
00:01:25 verbose #5160 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5161 > > │ 282 / 638518086719221610 / Changed │
00:01:25 verbose #5162 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5163 > > │ 193 / 638518086719221803 / Changed │
00:01:25 verbose #5164 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5165 > > │ 156 / 638518086719221959 / Changed │
00:01:25 verbose #5166 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5167 > > │ 164 / 638518086719222123 / Changed │
00:01:25 verbose #5168 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5169 > > │ 278 / 638518086719222401 / Changed │
00:01:25 verbose #5170 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5171 > > │ 203 / 638518086719222604 / Changed │
00:01:25 verbose #5172 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5173 > > │ 166 / 638518086719222770 / Changed │
00:01:25 verbose #5174 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5175 > > │ 167 / 638518086719222937 / Changed │
00:01:25 verbose #5176 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5177 > > │ 168 / 638518086719223105 / Changed │
00:01:25 verbose #5178 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5179 > > │ 171 / 638518086719223276 / Changed │
00:01:25 verbose #5180 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5181 > > │ 173 / 638518086719223449 / Changed │
00:01:25 verbose #5182 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5183 > > │ 180 / 638518086719223629 / Changed │
00:01:25 verbose #5184 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5185 > > │ 267 / 638518086719223896 / Changed │
00:01:25 verbose #5186 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5187 > > │ 317 / 638518086719224213 / Changed │
00:01:25 verbose #5188 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5189 > > │ 238 / 638518086719224451 / Changed │
00:01:25 verbose #5190 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5191 > > │ 160 / 638518086719224611 / Changed │
00:01:25 verbose #5192 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5193 > > │ 168 / 638518086719224779 / Changed │
00:01:25 verbose #5194 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5195 > > │ 186 / 638518086719224965 / Changed │
00:01:25 verbose #5196 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5197 > > │ 410 / 638518086719225375 / Changed │
00:01:25 verbose #5198 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5199 > > │ 211 / 638518086719225586 / Changed │
00:01:25 verbose #5200 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5201 > > │ 171 / 638518086719225757 / Changed │
00:01:25 verbose #5202 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5203 > > │ 192 / 638518086719225949 / Changed │
00:01:25 verbose #5204 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5205 > > │ 165 / 638518086719226114 / Changed │
00:01:25 verbose #5206 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5207 > > │ 170 / 638518086719226284 / Changed │
00:01:25 verbose #5208 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5209 > > │ 191 / 638518086719226475 / Changed │
00:01:25 verbose #5210 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5211 > > │ 239 / 638518086719226714 / Changed │
00:01:25 verbose #5212 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5213 > > │ 177 / 638518086719226891 / Changed │
00:01:25 verbose #5214 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5215 > > │ 252 / 638518086719227143 / Changed │
00:01:25 verbose #5216 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5217 > > │ 39 / 638518086719227182 / Changed │
00:01:25 verbose #5218 > > │ ("file1.txt", │
00:01:25 verbose #5219 > > │ ...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5220 > > │ 178 / 638518086719227360 / Changed │
00:01:25 verbose #5221 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5222 > > │ 168 / 638518086719227528 / Changed │
00:01:25 verbose #5223 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5224 > > │ 169 / 638518086719227697 / Changed │
00:01:25 verbose #5225 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5226 > > │ 208 / 638518086719227905 / Changed │
00:01:25 verbose #5227 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5228 > > │ 165 / 638518086719228070 / Changed │
00:01:25 verbose #5229 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5230 > > │ 187 / 638518086719228257 / Changed │
00:01:25 verbose #5231 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5232 > > │ 150 / 638518086719228407 / Changed │
00:01:25 verbose #5233 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5234 > > │ 173 / 638518086719228580 / Changed │
00:01:25 verbose #5235 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5236 > > │ 171 / 638518086719228751 / Changed │
00:01:25 verbose #5237 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5238 > > │ 169 / 638518086719228920 / Changed │
00:01:25 verbose #5239 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5240 > > │ 199 / 638518086719229119 / Changed │
00:01:25 verbose #5241 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5242 > > │ 315 / 638518086719229434 / Changed │
00:01:25 verbose #5243 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5244 > > │ 377 / 638518086719229811 / Changed │
00:01:25 verbose #5245 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5246 > > │ 325 / 638518086719230136 / Changed │
00:01:25 verbose #5247 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5248 > > │ 206 / 638518086719230342 / Changed │
00:01:25 verbose #5249 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5250 > > │ 199 / 638518086719230541 / Changed │
00:01:25 verbose #5251 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5252 > > │ 210 / 638518086719230751 / Changed │
00:01:25 verbose #5253 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5254 > > │ 294 / 638518086719231045 / Changed │
00:01:25 verbose #5255 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5256 > > │ 251 / 638518086719231296 / Changed │
00:01:25 verbose #5257 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5258 > > │ 203 / 638518086719231499 / Changed │
00:01:25 verbose #5259 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5260 > > │ 190 / 638518086719231689 / Changed │
00:01:25 verbose #5261 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5262 > > │ 203 / 638518086719231892 / Changed │
00:01:25 verbose #5263 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5264 > > │ 235 / 638518086719232127 / Changed │
00:01:25 verbose #5265 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5266 > > │ 176 / 638518086719232303 / Changed │
00:01:25 verbose #5267 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5268 > > │ 163 / 638518086719232466 / Changed │
00:01:25 verbose #5269 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5270 > > │ 190 / 638518086719232656 / Changed │
00:01:25 verbose #5271 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5272 > > │ 173 / 638518086719232829 / Changed │
00:01:25 verbose #5273 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5274 > > │ 169 / 638518086719232998 / Changed │
00:01:25 verbose #5275 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5276 > > │ 209 / 638518086719233207 / Changed │
00:01:25 verbose #5277 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5278 > > │ 360 / 638518086719233567 / Changed │
00:01:25 verbose #5279 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5280 > > │ 220 / 638518086719233787 / Changed │
00:01:25 verbose #5281 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5282 > > │ 255 / 638518086719234042 / Changed │
00:01:25 verbose #5283 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5284 > > │ 186 / 638518086719234228 / Changed │
00:01:25 verbose #5285 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5286 > > │ 139 / 638518086719234367 / Changed │
00:01:25 verbose #5287 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │
00:01:25 verbose #5288 > > │ 54926 / 638518086719289293 / Changed │
00:01:25 verbose #5289 > > │ ("file2.txt...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5290 > > │ 354 / 638518086719289647 / Changed │
00:01:25 verbose #5291 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5292 > > │ 337 / 638518086719289984 / Changed │
00:01:25 verbose #5293 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5294 > > │ 230 / 638518086719290214 / Changed │
00:01:25 verbose #5295 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5296 > > │ 231 / 638518086719290445 / Changed │
00:01:25 verbose #5297 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5298 > > │ 234 / 638518086719290679 / Changed │
00:01:25 verbose #5299 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5300 > > │ 19552 / 638518086719310231 / Changed │
00:01:25 verbose #5301 > > │ ("file2.txt...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5302 > > │ 275 / 638518086719310506 / Changed │
00:01:25 verbose #5303 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5304 > > │ 216 / 638518086719310722 / Changed │
00:01:25 verbose #5305 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5306 > > │ 264 / 638518086719310986 / Changed │
00:01:25 verbose #5307 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5308 > > │ 217 / 638518086719311203 / Changed │
00:01:25 verbose #5309 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5310 > > │ 219 / 638518086719311422 / Changed │
00:01:25 verbose #5311 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5312 > > │ 235 / 638518086719311657 / Changed │
00:01:25 verbose #5313 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5314 > > │ 206 / 638518086719311863 / Changed │
00:01:25 verbose #5315 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5316 > > │ 253 / 638518086719312116 / Changed │
00:01:25 verbose #5317 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5318 > > │ 226 / 638518086719312342 / Changed │
00:01:25 verbose #5319 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5320 > > │ 244 / 638518086719312586 / Changed │
00:01:25 verbose #5321 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5322 > > │ 275 / 638518086719312861 / Changed │
00:01:25 verbose #5323 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5324 > > │ 208 / 638518086719313069 / Changed │
00:01:25 verbose #5325 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5326 > > │ 235 / 638518086719313304 / Changed │
00:01:25 verbose #5327 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5328 > > │ 209 / 638518086719313513 / Changed │
00:01:25 verbose #5329 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5330 > > │ 206 / 638518086719313719 / Changed │
00:01:25 verbose #5331 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5332 > > │ 216 / 638518086719313935 / Changed │
00:01:25 verbose #5333 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5334 > > │ 211 / 638518086719314146 / Changed │
00:01:25 verbose #5335 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5336 > > │ 248 / 638518086719314394 / Changed │
00:01:25 verbose #5337 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5338 > > │ 212 / 638518086719314606 / Changed │
00:01:25 verbose #5339 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5340 > > │ 216 / 638518086719314822 / Changed │
00:01:25 verbose #5341 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5342 > > │ 208 / 638518086719315030 / Changed │
00:01:25 verbose #5343 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5344 > > │ 229 / 638518086719315259 / Changed │
00:01:25 verbose #5345 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5346 > > │ 211 / 638518086719315470 / Changed │
00:01:25 verbose #5347 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5348 > > │ 214 / 638518086719315684 / Changed │
00:01:25 verbose #5349 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5350 > > │ 203 / 638518086719315887 / Changed │
00:01:25 verbose #5351 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5352 > > │ 238 / 638518086719316125 / Changed │
00:01:25 verbose #5353 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5354 > > │ 207 / 638518086719316332 / Changed │
00:01:25 verbose #5355 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5356 > > │ 237 / 638518086719316569 / Changed │
00:01:25 verbose #5357 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5358 > > │ 213 / 638518086719316782 / Changed │
00:01:25 verbose #5359 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5360 > > │ 207 / 638518086719316989 / Changed │
00:01:25 verbose #5361 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5362 > > │ 208 / 638518086719317197 / Changed │
00:01:25 verbose #5363 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5364 > > │ 227 / 638518086719317424 / Changed │
00:01:25 verbose #5365 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5366 > > │ 241 / 638518086719317665 / Changed │
00:01:25 verbose #5367 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5368 > > │ 254 / 638518086719317919 / Changed │
00:01:25 verbose #5369 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5370 > > │ 178 / 638518086719318097 / Changed │
00:01:25 verbose #5371 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5372 > > │ 305 / 638518086719318402 / Changed │
00:01:25 verbose #5373 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5374 > > │ 51 / 638518086719318453 / Changed │
00:01:25 verbose #5375 > > │ ("file2.txt", │
00:01:25 verbose #5376 > > │ ...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5377 > > │ 185 / 638518086719318638 / Changed │
00:01:25 verbose #5378 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5379 > > │ 228 / 638518086719318866 / Changed │
00:01:25 verbose #5380 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5381 > > │ 202 / 638518086719319068 / Changed │
00:01:25 verbose #5382 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5383 > > │ 250 / 638518086719319318 / Changed │
00:01:25 verbose #5384 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5385 > > │ 213 / 638518086719319531 / Changed │
00:01:25 verbose #5386 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5387 > > │ 217 / 638518086719319748 / Changed │
00:01:25 verbose #5388 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5389 > > │ 216 / 638518086719319964 / Changed │
00:01:25 verbose #5390 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5391 > > │ 204 / 638518086719320168 / Changed │
00:01:25 verbose #5392 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5393 > > │ 234 / 638518086719320402 / Changed │
00:01:25 verbose #5394 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5395 > > │ 208 / 638518086719320610 / Changed │
00:01:25 verbose #5396 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5397 > > │ 237 / 638518086719320847 / Changed │
00:01:25 verbose #5398 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5399 > > │ 212 / 638518086719321059 / Changed │
00:01:25 verbose #5400 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5401 > > │ 250 / 638518086719321309 / Changed │
00:01:25 verbose #5402 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5403 > > │ 184 / 638518086719321493 / Changed │
00:01:25 verbose #5404 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5405 > > │ 227 / 638518086719321720 / Changed │
00:01:25 verbose #5406 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5407 > > │ 208 / 638518086719321928 / Changed │
00:01:25 verbose #5408 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5409 > > │ 362 / 638518086719322290 / Changed │
00:01:25 verbose #5410 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5411 > > │ 193 / 638518086719322483 / Changed │
00:01:25 verbose #5412 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5413 > > │ 250 / 638518086719322733 / Changed │
00:01:25 verbose #5414 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5415 > > │ 201 / 638518086719322934 / Changed │
00:01:25 verbose #5416 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5417 > > │ 213 / 638518086719323147 / Changed │
00:01:25 verbose #5418 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5419 > > │ 224 / 638518086719323371 / Changed │
00:01:25 verbose #5420 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5421 > > │ 241 / 638518086719323612 / Changed │
00:01:25 verbose #5422 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5423 > > │ 212 / 638518086719323824 / Changed │
00:01:25 verbose #5424 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5425 > > │ 234 / 638518086719324058 / Changed │
00:01:25 verbose #5426 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5427 > > │ 215 / 638518086719324273 / Changed │
00:01:25 verbose #5428 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5429 > > │ 216 / 638518086719324489 / Changed │
00:01:25 verbose #5430 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5431 > > │ 208 / 638518086719324697 / Changed │
00:01:25 verbose #5432 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5433 > > │ 236 / 638518086719324933 / Changed │
00:01:25 verbose #5434 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5435 > > │ 212 / 638518086719325145 / Changed │
00:01:25 verbose #5436 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5437 > > │ 209 / 638518086719325354 / Changed │
00:01:25 verbose #5438 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5439 > > │ 213 / 638518086719325567 / Changed │
00:01:25 verbose #5440 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5441 > > │ 219 / 638518086719325786 / Changed │
00:01:25 verbose #5442 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5443 > > │ 232 / 638518086719326018 / Changed │
00:01:25 verbose #5444 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5445 > > │ 205 / 638518086719326223 / Changed │
00:01:25 verbose #5446 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5447 > > │ 209 / 638518086719326432 / Changed │
00:01:25 verbose #5448 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5449 > > │ 231 / 638518086719326663 / Changed │
00:01:25 verbose #5450 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5451 > > │ 208 / 638518086719326871 / Changed │
00:01:25 verbose #5452 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5453 > > │ 122231 / 638518086719449102 / Changed │
00:01:25 verbose #5454 > > │ ("file2.tx...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5455 > > │ 30884 / 638518086719479986 / Changed │
00:01:25 verbose #5456 > > │ ("file2.txt...22222222222222222222222222222222222222222222222b") │
00:01:25 verbose #5457 > > │ 15104573 / 638518086734584559 / Renamed │
00:01:25 verbose #5458 > > │ ("file1....1111111111111111111111111111111111111111111111b")) │
00:01:25 verbose #5459 > > │ 619 / 638518086734585178 / Renamed │
00:01:25 verbose #5460 > > │ ("file2.txt",...2222222222222222222222222222222222222222222222b")) │
00:01:25 verbose #5461 > > │ 15037917 / 638518086749623095 / Changed │
00:01:25 verbose #5462 > > │ ("file_1...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5463 > > │ 801 / 638518086749623896 / Changed │
00:01:25 verbose #5464 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5465 > > │ 69 / 638518086749623965 / Changed │
00:01:25 verbose #5466 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5467 > > │ 437 / 638518086749624402 / Changed │
00:01:25 verbose #5468 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5469 > > │ 56 / 638518086749624458 / Changed │
00:01:25 verbose #5470 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5471 > > │ 186 / 638518086749624644 / Changed │
00:01:25 verbose #5472 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5473 > > │ 183 / 638518086749624827 / Changed │
00:01:25 verbose #5474 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5475 > > │ 193 / 638518086749625020 / Changed │
00:01:25 verbose #5476 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5477 > > │ 190 / 638518086749625210 / Changed │
00:01:25 verbose #5478 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5479 > > │ 184 / 638518086749625394 / Changed │
00:01:25 verbose #5480 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5481 > > │ 326 / 638518086749625720 / Changed │
00:01:25 verbose #5482 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5483 > > │ 16012 / 638518086749641732 / Changed │
00:01:25 verbose #5484 > > │ ("file_1.tx...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5485 > > │ 95 / 638518086749641827 / Changed │
00:01:25 verbose #5486 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5487 > > │ 1094 / 638518086749642921 / Changed │
00:01:25 verbose #5488 > > │ ("file_1.txt...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5489 > > │ 78 / 638518086749642999 / Changed │
00:01:25 verbose #5490 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5491 > > │ 161 / 638518086749643160 / Changed │
00:01:25 verbose #5492 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5493 > > │ 335 / 638518086749643495 / Changed │
00:01:25 verbose #5494 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5495 > > │ 121 / 638518086749643616 / Changed │
00:01:25 verbose #5496 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5497 > > │ 177 / 638518086749643793 / Changed │
00:01:25 verbose #5498 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5499 > > │ 174 / 638518086749643967 / Changed │
00:01:25 verbose #5500 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5501 > > │ 509 / 638518086749644476 / Changed │
00:01:25 verbose #5502 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5503 > > │ 416 / 638518086749644892 / Changed │
00:01:25 verbose #5504 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5505 > > │ 141 / 638518086749645033 / Changed │
00:01:25 verbose #5506 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5507 > > │ 853 / 638518086749645886 / Changed │
00:01:25 verbose #5508 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5509 > > │ 65 / 638518086749645951 / Changed │
00:01:25 verbose #5510 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5511 > > │ 215 / 638518086749646166 / Changed │
00:01:25 verbose #5512 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5513 > > │ 204 / 638518086749646370 / Changed │
00:01:25 verbose #5514 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5515 > > │ 84 / 638518086749646454 / Changed │
00:01:25 verbose #5516 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5517 > > │ 150 / 638518086749646604 / Changed │
00:01:25 verbose #5518 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5519 > > │ 159 / 638518086749646763 / Changed │
00:01:25 verbose #5520 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5521 > > │ 123 / 638518086749646886 / Changed │
00:01:25 verbose #5522 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5523 > > │ 156 / 638518086749647042 / Changed │
00:01:25 verbose #5524 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5525 > > │ 196 / 638518086749647238 / Changed │
00:01:25 verbose #5526 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5527 > > │ 177 / 638518086749647415 / Changed │
00:01:25 verbose #5528 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5529 > > │ 814 / 638518086749648229 / Changed │
00:01:25 verbose #5530 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5531 > > │ 274 / 638518086749648503 / Changed │
00:01:25 verbose #5532 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5533 > > │ 67 / 638518086749648570 / Changed │
00:01:25 verbose #5534 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5535 > > │ 262 / 638518086749648832 / Changed │
00:01:25 verbose #5536 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5537 > > │ 205 / 638518086749649037 / Changed │
00:01:25 verbose #5538 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5539 > > │ 171 / 638518086749649208 / Changed │
00:01:25 verbose #5540 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5541 > > │ 143 / 638518086749649351 / Changed │
00:01:25 verbose #5542 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5543 > > │ 147 / 638518086749649498 / Changed │
00:01:25 verbose #5544 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5545 > > │ 172 / 638518086749649670 / Changed │
00:01:25 verbose #5546 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5547 > > │ 151 / 638518086749649821 / Changed │
00:01:25 verbose #5548 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5549 > > │ 168 / 638518086749649989 / Changed │
00:01:25 verbose #5550 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5551 > > │ 456 / 638518086749650445 / Changed │
00:01:25 verbose #5552 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5553 > > │ 246 / 638518086749650691 / Changed │
00:01:25 verbose #5554 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5555 > > │ 201 / 638518086749650892 / Changed │
00:01:25 verbose #5556 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5557 > > │ 153 / 638518086749651045 / Changed │
00:01:25 verbose #5558 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5559 > > │ 164 / 638518086749651209 / Changed │
00:01:25 verbose #5560 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5561 > > │ 910 / 638518086749652119 / Changed │
00:01:25 verbose #5562 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5563 > > │ 74 / 638518086749652193 / Changed │
00:01:25 verbose #5564 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5565 > > │ 141 / 638518086749652334 / Changed │
00:01:25 verbose #5566 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5567 > > │ 148 / 638518086749652482 / Changed │
00:01:25 verbose #5568 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5569 > > │ 165 / 638518086749652647 / Changed │
00:01:25 verbose #5570 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5571 > > │ 178 / 638518086749652825 / Changed │
00:01:25 verbose #5572 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5573 > > │ 215 / 638518086749653040 / Changed │
00:01:25 verbose #5574 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5575 > > │ 177 / 638518086749653217 / Changed │
00:01:25 verbose #5576 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5577 > > │ 133 / 638518086749653350 / Changed │
00:01:25 verbose #5578 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5579 > > │ 164 / 638518086749653514 / Changed │
00:01:25 verbose #5580 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5581 > > │ 187 / 638518086749653701 / Changed │
00:01:25 verbose #5582 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5583 > > │ 180 / 638518086749653881 / Changed │
00:01:25 verbose #5584 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5585 > > │ 153 / 638518086749654034 / Changed │
00:01:25 verbose #5586 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5587 > > │ 193 / 638518086749654227 / Changed │
00:01:25 verbose #5588 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5589 > > │ 158 / 638518086749654385 / Changed │
00:01:25 verbose #5590 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5591 > > │ 176 / 638518086749654561 / Changed │
00:01:25 verbose #5592 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5593 > > │ 162 / 638518086749654723 / Changed │
00:01:25 verbose #5594 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5595 > > │ 170 / 638518086749654893 / Changed │
00:01:25 verbose #5596 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5597 > > │ 198 / 638518086749655091 / Changed │
00:01:25 verbose #5598 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5599 > > │ 1071 / 638518086749656162 / Changed │
00:01:25 verbose #5600 > > │ ("file_1.txt...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5601 > > │ 1124 / 638518086749657286 / Changed │
00:01:25 verbose #5602 > > │ ("file_1.txt...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5603 > > │ 64 / 638518086749657350 / Changed │
00:01:25 verbose #5604 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5605 > > │ 528 / 638518086749657878 / Changed │
00:01:25 verbose #5606 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5607 > > │ 250 / 638518086749658128 / Changed │
00:01:25 verbose #5608 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5609 > > │ 167 / 638518086749658295 / Changed │
00:01:25 verbose #5610 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5611 > > │ 236 / 638518086749658531 / Changed │
00:01:25 verbose #5612 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5613 > > │ 149 / 638518086749658680 / Changed │
00:01:25 verbose #5614 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5615 > > │ 153 / 638518086749658833 / Changed │
00:01:25 verbose #5616 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5617 > > │ 163 / 638518086749658996 / Changed │
00:01:25 verbose #5618 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5619 > > │ 183 / 638518086749659179 / Changed │
00:01:25 verbose #5620 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5621 > > │ 817 / 638518086749659996 / Changed │
00:01:25 verbose #5622 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5623 > > │ 92 / 638518086749660088 / Changed │
00:01:25 verbose #5624 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5625 > > │ 135 / 638518086749660223 / Changed │
00:01:25 verbose #5626 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5627 > > │ 187 / 638518086749660410 / Changed │
00:01:25 verbose #5628 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5629 > > │ 112 / 638518086749660522 / Changed │
00:01:25 verbose #5630 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │
00:01:25 verbose #5631 > > │ 37602 / 638518086749698124 / Changed │
00:01:25 verbose #5632 > > │ ("file_2.tx...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5633 > > │ 159 / 638518086749698283 / Changed │
00:01:25 verbose #5634 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5635 > > │ 401 / 638518086749698684 / Changed │
00:01:25 verbose #5636 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5637 > > │ 235 / 638518086749698919 / Changed │
00:01:25 verbose #5638 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5639 > > │ 329 / 638518086749699248 / Changed │
00:01:25 verbose #5640 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5641 > > │ 242 / 638518086749699490 / Changed │
00:01:25 verbose #5642 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5643 > > │ 307 / 638518086749699797 / Changed │
00:01:25 verbose #5644 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5645 > > │ 238 / 638518086749700035 / Changed │
00:01:25 verbose #5646 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5647 > > │ 204 / 638518086749700239 / Changed │
00:01:25 verbose #5648 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5649 > > │ 205 / 638518086749700444 / Changed │
00:01:25 verbose #5650 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5651 > > │ 314 / 638518086749700758 / Changed │
00:01:25 verbose #5652 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5653 > > │ 32 / 638518086749700790 / Changed │
00:01:25 verbose #5654 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5655 > > │ 192 / 638518086749700982 / Changed │
00:01:25 verbose #5656 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5657 > > │ 48 / 638518086749701030 / Changed │
00:01:25 verbose #5658 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5659 > > │ 264 / 638518086749701294 / Changed │
00:01:25 verbose #5660 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5661 > > │ 230 / 638518086749701524 / Changed │
00:01:25 verbose #5662 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5663 > > │ 301 / 638518086749701825 / Changed │
00:01:25 verbose #5664 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5665 > > │ 241 / 638518086749702066 / Changed │
00:01:25 verbose #5666 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5667 > > │ 267 / 638518086749702333 / Changed │
00:01:25 verbose #5668 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5669 > > │ 188 / 638518086749702521 / Changed │
00:01:25 verbose #5670 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5671 > > │ 199 / 638518086749702720 / Changed │
00:01:25 verbose #5672 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5673 > > │ 214 / 638518086749702934 / Changed │
00:01:25 verbose #5674 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5675 > > │ 178 / 638518086749703112 / Changed │
00:01:25 verbose #5676 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5677 > > │ 287 / 638518086749703399 / Changed │
00:01:25 verbose #5678 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5679 > > │ 249 / 638518086749703648 / Changed │
00:01:25 verbose #5680 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5681 > > │ 169 / 638518086749703817 / Changed │
00:01:25 verbose #5682 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5683 > > │ 196 / 638518086749704013 / Changed │
00:01:25 verbose #5684 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5685 > > │ 177 / 638518086749704190 / Changed │
00:01:25 verbose #5686 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5687 > > │ 207 / 638518086749704397 / Changed │
00:01:25 verbose #5688 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5689 > > │ 182 / 638518086749704579 / Changed │
00:01:25 verbose #5690 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5691 > > │ 289 / 638518086749704868 / Changed │
00:01:25 verbose #5692 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5693 > > │ 214 / 638518086749705082 / Changed │
00:01:25 verbose #5694 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5695 > > │ 180 / 638518086749705262 / Changed │
00:01:25 verbose #5696 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5697 > > │ 196 / 638518086749705458 / Changed │
00:01:25 verbose #5698 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5699 > > │ 186 / 638518086749705644 / Changed │
00:01:25 verbose #5700 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5701 > > │ 194 / 638518086749705838 / Changed │
00:01:25 verbose #5702 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5703 > > │ 189 / 638518086749706027 / Changed │
00:01:25 verbose #5704 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5705 > > │ 265 / 638518086749706292 / Changed │
00:01:25 verbose #5706 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5707 > > │ 247 / 638518086749706539 / Changed │
00:01:25 verbose #5708 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5709 > > │ 166 / 638518086749706705 / Changed │
00:01:25 verbose #5710 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5711 > > │ 185 / 638518086749706890 / Changed │
00:01:25 verbose #5712 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5713 > > │ 178 / 638518086749707068 / Changed │
00:01:25 verbose #5714 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5715 > > │ 200 / 638518086749707268 / Changed │
00:01:25 verbose #5716 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5717 > > │ 183 / 638518086749707451 / Changed │
00:01:25 verbose #5718 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5719 > > │ 196 / 638518086749707647 / Changed │
00:01:25 verbose #5720 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5721 > > │ 197 / 638518086749707844 / Changed │
00:01:25 verbose #5722 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5723 > > │ 180 / 638518086749708024 / Changed │
00:01:25 verbose #5724 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5725 > > │ 192 / 638518086749708216 / Changed │
00:01:25 verbose #5726 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5727 > > │ 278 / 638518086749708494 / Changed │
00:01:25 verbose #5728 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5729 > > │ 233 / 638518086749708727 / Changed │
00:01:25 verbose #5730 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5731 > > │ 180 / 638518086749708907 / Changed │
00:01:25 verbose #5732 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5733 > > │ 185 / 638518086749709092 / Changed │
00:01:25 verbose #5734 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5735 > > │ 182 / 638518086749709274 / Changed │
00:01:25 verbose #5736 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5737 > > │ 196 / 638518086749709470 / Changed │
00:01:25 verbose #5738 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5739 > > │ 222 / 638518086749709692 / Changed │
00:01:25 verbose #5740 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5741 > > │ 185 / 638518086749709877 / Changed │
00:01:25 verbose #5742 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5743 > > │ 178 / 638518086749710055 / Changed │
00:01:25 verbose #5744 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5745 > > │ 188 / 638518086749710243 / Changed │
00:01:25 verbose #5746 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5747 > > │ 205 / 638518086749710448 / Changed │
00:01:25 verbose #5748 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5749 > > │ 186 / 638518086749710634 / Changed │
00:01:25 verbose #5750 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5751 > > │ 193 / 638518086749710827 / Changed │
00:01:25 verbose #5752 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5753 > > │ 207 / 638518086749711034 / Changed │
00:01:25 verbose #5754 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5755 > > │ 183 / 638518086749711217 / Changed │
00:01:25 verbose #5756 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5757 > > │ 304 / 638518086749711521 / Changed │
00:01:25 verbose #5758 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5759 > > │ 184 / 638518086749711705 / Changed │
00:01:25 verbose #5760 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5761 > > │ 198 / 638518086749711903 / Changed │
00:01:25 verbose #5762 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5763 > > │ 191 / 638518086749712094 / Changed │
00:01:25 verbose #5764 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5765 > > │ 200 / 638518086749712294 / Changed │
00:01:25 verbose #5766 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5767 > > │ 200 / 638518086749712494 / Changed │
00:01:25 verbose #5768 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5769 > > │ 190 / 638518086749712684 / Changed │
00:01:25 verbose #5770 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5771 > > │ 216 / 638518086749712900 / Changed │
00:01:25 verbose #5772 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5773 > > │ 209 / 638518086749713109 / Changed │
00:01:25 verbose #5774 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5775 > > │ 328 / 638518086749713437 / Changed │
00:01:25 verbose #5776 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5777 > > │ 262 / 638518086749713699 / Changed │
00:01:25 verbose #5778 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5779 > > │ 173 / 638518086749713872 / Changed │
00:01:25 verbose #5780 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5781 > > │ 319 / 638518086749714191 / Changed │
00:01:25 verbose #5782 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5783 > > │ 203 / 638518086749714394 / Changed │
00:01:25 verbose #5784 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5785 > > │ 244 / 638518086749714638 / Changed │
00:01:25 verbose #5786 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5787 > > │ 241 / 638518086749714879 / Changed │
00:01:25 verbose #5788 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5789 > > │ 214 / 638518086749715093 / Changed │
00:01:25 verbose #5790 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5791 > > │ 221 / 638518086749715314 / Changed │
00:01:25 verbose #5792 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5793 > > │ 218 / 638518086749715532 / Changed │
00:01:25 verbose #5794 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5795 > > │ 222 / 638518086749715754 / Changed │
00:01:25 verbose #5796 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5797 > > │ 244 / 638518086749715998 / Changed │
00:01:25 verbose #5798 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5799 > > │ 226 / 638518086749716224 / Changed │
00:01:25 verbose #5800 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5801 > > │ 192 / 638518086749716416 / Changed │
00:01:25 verbose #5802 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5803 > > │ 211 / 638518086749716627 / Changed │
00:01:25 verbose #5804 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5805 > > │ 207 / 638518086749716834 / Changed │
00:01:25 verbose #5806 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5807 > > │ 199 / 638518086749717033 / Changed │
00:01:25 verbose #5808 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5809 > > │ 180 / 638518086749717213 / Changed │
00:01:25 verbose #5810 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5811 > > │ 167 / 638518086749717380 / Changed │
00:01:25 verbose #5812 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5813 > > │ 203 / 638518086749717583 / Changed │
00:01:25 verbose #5814 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5815 > > │ 175 / 638518086749717758 / Changed │
00:01:25 verbose #5816 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5817 > > │ 161 / 638518086749717919 / Changed │
00:01:25 verbose #5818 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5819 > > │ 194 / 638518086749718113 / Changed │
00:01:25 verbose #5820 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5821 > > │ 167 / 638518086749718280 / Changed │
00:01:25 verbose #5822 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5823 > > │ 168 / 638518086749718448 / Changed │
00:01:25 verbose #5824 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5825 > > │ 182 / 638518086749718630 / Changed │
00:01:25 verbose #5826 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5827 > > │ 175 / 638518086749718805 / Changed │
00:01:25 verbose #5828 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5829 > > │ 161 / 638518086749718966 / Changed │
00:01:25 verbose #5830 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5831 > > │ 163 / 638518086749719129 / Changed │
00:01:25 verbose #5832 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5833 > > │ 187 / 638518086749719316 / Changed │
00:01:25 verbose #5834 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5835 > > │ 174 / 638518086749719490 / Changed │
00:01:25 verbose #5836 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5837 > > │ 153 / 638518086749719643 / Changed │
00:01:25 verbose #5838 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5839 > > │ 166 / 638518086749719809 / Changed │
00:01:25 verbose #5840 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5841 > > │ 160 / 638518086749719969 / Changed │
00:01:25 verbose #5842 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5843 > > │ 165 / 638518086749720134 / Changed │
00:01:25 verbose #5844 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5845 > > │ 167 / 638518086749720301 / Changed │
00:01:25 verbose #5846 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5847 > > │ 158 / 638518086749720459 / Changed │
00:01:25 verbose #5848 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5849 > > │ 191 / 638518086749720650 / Changed │
00:01:25 verbose #5850 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5851 > > │ 188 / 638518086749720838 / Changed │
00:01:25 verbose #5852 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5853 > > │ 167 / 638518086749721005 / Changed │
00:01:25 verbose #5854 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5855 > > │ 172 / 638518086749721177 / Changed │
00:01:25 verbose #5856 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5857 > > │ 278 / 638518086749721455 / Changed │
00:01:25 verbose #5858 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5859 > > │ 250 / 638518086749721705 / Changed │
00:01:25 verbose #5860 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5861 > > │ 218 / 638518086749721923 / Changed │
00:01:25 verbose #5862 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5863 > > │ 437 / 638518086749722360 / Changed │
00:01:25 verbose #5864 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5865 > > │ 270 / 638518086749722630 / Changed │
00:01:25 verbose #5866 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5867 > > │ 259 / 638518086749722889 / Changed │
00:01:25 verbose #5868 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5869 > > │ 105 / 638518086749722994 / Changed │
00:01:25 verbose #5870 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5871 > > │ 223 / 638518086749723217 / Changed │
00:01:25 verbose #5872 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5873 > > │ 198 / 638518086749723415 / Changed │
00:01:25 verbose #5874 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5875 > > │ 248 / 638518086749723663 / Changed │
00:01:25 verbose #5876 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5877 > > │ 218 / 638518086749723881 / Changed │
00:01:25 verbose #5878 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5879 > > │ 48 / 638518086749723929 / Changed │
00:01:25 verbose #5880 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │
00:01:25 verbose #5881 > > │ 15037095 / 638518086764761024 / Deleted "file_1.txt" │
00:01:25 verbose #5882 > > │ 3003 / 638518086764764027 / Deleted "file_2.txt" │
00:01:25 verbose #5883 > > │ [Created ("file1.txt", Some "1a"); Changed ("file1.txt", Some "1a"); Created │
00:01:25 verbose #5884 > > │ ("file2.txt", Some "2a"); │
00:01:25 verbose #5885 > > │ Changed ("file2.txt", Some "2a"); Changed ("file1.txt", Some "1b"); Changed │
00:01:25 verbose #5886 > > │ ("file2.txt", Some "2b"); │
00:01:25 verbose #5887 > > │ Renamed ("file1.txt", ("file_1.txt", Some "1b")); Renamed ("file2.txt", │
00:01:25 verbose #5888 > > │ ("file_2.txt", Some "2b")); │
00:01:25 verbose #5889 > > │ Changed ("file_1.txt", Some "1c"); Changed ("file_2.txt", Some "2c"); │
00:01:25 verbose #5890 > > │ Deleted "file_1.txt"; Deleted "file_2.txt"] │
00:01:25 verbose #5891 > > │ │
00:01:25 verbose #5892 > > │ Some () │
00:01:25 verbose #5893 > > │ │
00:01:25 verbose #5894 > > │ │
00:01:25 verbose #5895 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:25 verbose #5896 > >
00:01:25 verbose #5897 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:25 verbose #5898 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:25 verbose #5899 > > │ ### testEventsSorted (test) │
00:01:25 verbose #5900 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:25 verbose #5901 > >
00:01:25 verbose #5902 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:25 verbose #5903 > > //// test
00:01:25 verbose #5904 > >
00:01:25 verbose #5905 > > let inline sortEvent event =
00:01:25 verbose #5906 > > match event with
00:01:25 verbose #5907 > > | FileSystemChange.Failure _ -> 0
00:01:25 verbose #5908 > > | FileSystemChange.Created _ -> 1
00:01:25 verbose #5909 > > | FileSystemChange.Changed _ -> 2
00:01:25 verbose #5910 > > | FileSystemChange.Renamed (_oldPath, _) -> 3
00:01:25 verbose #5911 > > | FileSystemChange.Deleted _ -> 4
00:01:25 verbose #5912 > >
00:01:25 verbose #5913 > > let inline formatEvents events =
00:01:25 verbose #5914 > > events
00:01:25 verbose #5915 > > |> Seq.toList
00:01:25 verbose #5916 > > |> List.sortBy (snd >> sortEvent)
00:01:25 verbose #5917 > > |> List.choose (fun (ticks, event) ->
00:01:25 verbose #5918 > > match event with
00:01:25 verbose #5919 > > | FileSystemChange.Failure _ ->
00:01:25 verbose #5920 > > None
00:01:25 verbose #5921 > > | FileSystemChange.Changed (path, _) ->
00:01:25 verbose #5922 > > Some (ticks, System.IO.Path.GetFileName path, nameof
00:01:25 verbose #5923 > > FileSystemChangeType.Changed)
00:01:25 verbose #5924 > > | FileSystemChange.Created (path, _) ->
00:01:25 verbose #5925 > > Some (ticks, System.IO.Path.GetFileName path, nameof
00:01:25 verbose #5926 > > FileSystemChangeType.Created)
00:01:25 verbose #5927 > > | FileSystemChange.Deleted path ->
00:01:25 verbose #5928 > > Some (ticks, System.IO.Path.GetFileName path, nameof
00:01:25 verbose #5929 > > FileSystemChangeType.Deleted)
00:01:25 verbose #5930 > > | FileSystemChange.Renamed (_oldPath, (path, _)) ->
00:01:25 verbose #5931 > > Some (ticks, System.IO.Path.GetFileName path, nameof
00:01:25 verbose #5932 > > FileSystemChangeType.Renamed)
00:01:25 verbose #5933 > > )
00:01:25 verbose #5934 > > |> List.sortBy (fun (_, path, _) -> path)
00:01:25 verbose #5935 > > |> List.distinctBy (fun (_, path, event) -> path, event)
00:01:25 verbose #5936 > >
00:01:25 verbose #5937 > > let inline testEventsSorted
00:01:25 verbose #5938 > > (watchFn : string -> FSharp.Control.AsyncSeq<int64 * FileSystemChange> *
00:01:25 verbose #5939 > > IDisposable)
00:01:25 verbose #5940 > > write
00:01:25 verbose #5941 > > =
00:01:25 verbose #5942 > > let struct (tempDir, tempDisposable) =
00:01:25 verbose #5943 > > SpiralFileSystem.create_temp_directory ()
00:01:25 verbose #5944 > > let stream, disposable = watchFn tempDir
00:01:25 verbose #5945 > >
00:01:25 verbose #5946 > > let events = System.Collections.Concurrent.ConcurrentBag ()
00:01:25 verbose #5947 > >
00:01:25 verbose #5948 > > let inline iter () =
00:01:25 verbose #5949 > > stream
00:01:25 verbose #5950 > > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async {
00:01:25 verbose #5951 > > events.Add event })
00:01:25 verbose #5952 > >
00:01:25 verbose #5953 > > let run = async {
00:01:25 verbose #5954 > > let! _ = iter () |> Async.StartChild
00:01:25 verbose #5955 > > do! Async.Sleep 250
00:01:25 verbose #5956 > > return! write tempDir
00:01:25 verbose #5957 > > }
00:01:25 verbose #5958 > >
00:01:25 verbose #5959 > > try
00:01:25 verbose #5960 > > run
00:01:25 verbose #5961 > > |> Async.runWithTimeout 5000
00:01:25 verbose #5962 > > |> _assertEqual (Some ())
00:01:25 verbose #5963 > > finally
00:01:25 verbose #5964 > > disposable.Dispose ()
00:01:25 verbose #5965 > > tempDisposable.Dispose ()
00:01:25 verbose #5966 > >
00:01:25 verbose #5967 > > let events = formatEvents events
00:01:25 verbose #5968 > >
00:01:25 verbose #5969 > > let eventMap =
00:01:25 verbose #5970 > > events
00:01:25 verbose #5971 > > |> List.map (fun (ticks, path, event) -> path, (event, ticks))
00:01:25 verbose #5972 > > |> List.groupBy fst
00:01:25 verbose #5973 > > |> List.map (fun (path, events) ->
00:01:25 verbose #5974 > > let event, _ticks =
00:01:25 verbose #5975 > > events
00:01:25 verbose #5976 > > |> List.map snd
00:01:25 verbose #5977 > > |> List.sortByDescending snd
00:01:25 verbose #5978 > > |> List.head
00:01:25 verbose #5979 > >
00:01:25 verbose #5980 > > path, event
00:01:25 verbose #5981 > > )
00:01:25 verbose #5982 > > |> Map.ofList
00:01:25 verbose #5983 > >
00:01:25 verbose #5984 > > let eventList =
00:01:25 verbose #5985 > > events
00:01:25 verbose #5986 > > |> List.map (fun (_ticks, path, event) -> path, event)
00:01:25 verbose #5987 > >
00:01:25 verbose #5988 > > eventMap, eventList
00:01:25 verbose #5989 > >
00:01:25 verbose #5990 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:25 verbose #5991 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:25 verbose #5992 > > │ #### create and delete (test) │
00:01:25 verbose #5993 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:25 verbose #5994 > >
00:01:25 verbose #5995 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:25 verbose #5996 > > //// test
00:01:25 verbose #5997 > >
00:01:25 verbose #5998 > > let inline write path = async {
00:01:25 verbose #5999 > > let n = 3
00:01:25 verbose #6000 > >
00:01:25 verbose #6001 > > for i = 1 to n do
00:01:25 verbose #6002 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:25 verbose #6003 > > $"file{i}.txt")
00:01:25 verbose #6004 > >
00:01:25 verbose #6005 > > for i = 1 to n do
00:01:25 verbose #6006 > > do! SpiralFileSystem.delete_file_async (path </> $"file{i}.txt") |>
00:01:25 verbose #6007 > > Async.Ignore
00:01:25 verbose #6008 > >
00:01:25 verbose #6009 > > do! Async.Sleep 150
00:01:25 verbose #6010 > > }
00:01:25 verbose #6011 > >
00:01:25 verbose #6012 > > let inline run () =
00:01:25 verbose #6013 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
00:01:25 verbose #6014 > > write
00:01:25 verbose #6015 > >
00:01:25 verbose #6016 > > [[
00:01:25 verbose #6017 > > "file1.txt", nameof FileSystemChangeType.Created
00:01:25 verbose #6018 > > "file1.txt", nameof FileSystemChangeType.Changed
00:01:25 verbose #6019 > > "file1.txt", nameof FileSystemChangeType.Deleted
00:01:25 verbose #6020 > >
00:01:25 verbose #6021 > > "file2.txt", nameof FileSystemChangeType.Created
00:01:25 verbose #6022 > > "file2.txt", nameof FileSystemChangeType.Changed
00:01:25 verbose #6023 > > "file2.txt", nameof FileSystemChangeType.Deleted
00:01:25 verbose #6024 > >
00:01:25 verbose #6025 > > "file3.txt", nameof FileSystemChangeType.Created
00:01:25 verbose #6026 > > "file3.txt", nameof FileSystemChangeType.Changed
00:01:25 verbose #6027 > > "file3.txt", nameof FileSystemChangeType.Deleted
00:01:25 verbose #6028 > > ]]
00:01:25 verbose #6029 > > |> _sequenceEqual eventList
00:01:25 verbose #6030 > >
00:01:25 verbose #6031 > > [[
00:01:25 verbose #6032 > > "file1.txt", nameof FileSystemChangeType.Deleted
00:01:25 verbose #6033 > > "file2.txt", nameof FileSystemChangeType.Deleted
00:01:25 verbose #6034 > > "file3.txt", nameof FileSystemChangeType.Deleted
00:01:25 verbose #6035 > > ]]
00:01:25 verbose #6036 > > |> Map.ofList
00:01:25 verbose #6037 > > |> _sequenceEqual eventMap
00:01:25 verbose #6038 > >
00:01:25 verbose #6039 > > run
00:01:25 verbose #6040 > > |> retry_fn 3
00:01:25 verbose #6041 > > |> _assertEqual (Some ())
00:01:26 verbose #6042 > >
00:01:26 verbose #6043 > > ╭─[ 910.78ms - stdout ]────────────────────────────────────────────────────────╮
00:01:26 verbose #6044 > > │ Some () │
00:01:26 verbose #6045 > > │ │
00:01:26 verbose #6046 > > │ 00:00:17 debug #5 watchWithFilter / Disposing watch stream / filter: │
00:01:26 verbose #6047 > > │ FileName, LastWrite │
00:01:26 verbose #6048 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file1.txt", │
00:01:26 verbose #6049 > > │ "Deleted"); ("file2.txt", "Created"); │
00:01:26 verbose #6050 > > │ ("file2.txt", "Changed"); ("file2.txt", "Deleted"); ("file3.txt", │
00:01:26 verbose #6051 > > │ "Created"); ("file3.txt", "Changed"); │
00:01:26 verbose #6052 > > │ ("file3.txt", "Deleted")] │
00:01:26 verbose #6053 > > │ │
00:01:26 verbose #6054 > > │ map [("file1.txt", "Deleted"); ("file2.txt", "Deleted"); ("file3.txt", │
00:01:26 verbose #6055 > > │ "Deleted")] │
00:01:26 verbose #6056 > > │ │
00:01:26 verbose #6057 > > │ Some () │
00:01:26 verbose #6058 > > │ │
00:01:26 verbose #6059 > > │ │
00:01:26 verbose #6060 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:26 verbose #6061 > >
00:01:26 verbose #6062 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:26 verbose #6063 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:26 verbose #6064 > > │ #### change (test) │
00:01:26 verbose #6065 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:26 verbose #6066 > >
00:01:26 verbose #6067 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:26 verbose #6068 > > //// test
00:01:26 verbose #6069 > >
00:01:26 verbose #6070 > > let inline write path = async {
00:01:26 verbose #6071 > > let n = 2
00:01:26 verbose #6072 > >
00:01:26 verbose #6073 > > for i = 1 to n do
00:01:26 verbose #6074 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:26 verbose #6075 > > $"file{i}.txt")
00:01:26 verbose #6076 > >
00:01:26 verbose #6077 > > for i = 1 to n do
00:01:26 verbose #6078 > > do! "" |> SpiralFileSystem.write_all_text_async (path </>
00:01:26 verbose #6079 > > $"file{i}.txt")
00:01:26 verbose #6080 > >
00:01:26 verbose #6081 > > for i = 1 to n do
00:01:26 verbose #6082 > > do! SpiralFileSystem.delete_file_async (path </> $"file{i}.txt") |>
00:01:26 verbose #6083 > > Async.Ignore
00:01:26 verbose #6084 > >
00:01:26 verbose #6085 > > do! Async.Sleep 150
00:01:26 verbose #6086 > > }
00:01:26 verbose #6087 > >
00:01:26 verbose #6088 > > let inline run () =
00:01:26 verbose #6089 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
00:01:26 verbose #6090 > > write
00:01:26 verbose #6091 > >
00:01:26 verbose #6092 > > [[
00:01:26 verbose #6093 > > "file1.txt", nameof FileSystemChangeType.Created
00:01:26 verbose #6094 > > "file1.txt", nameof FileSystemChangeType.Changed
00:01:26 verbose #6095 > > "file1.txt", nameof FileSystemChangeType.Deleted
00:01:26 verbose #6096 > >
00:01:26 verbose #6097 > > "file2.txt", nameof FileSystemChangeType.Created
00:01:26 verbose #6098 > > "file2.txt", nameof FileSystemChangeType.Changed
00:01:26 verbose #6099 > > "file2.txt", nameof FileSystemChangeType.Deleted
00:01:26 verbose #6100 > > ]]
00:01:26 verbose #6101 > > |> _sequenceEqual eventList
00:01:26 verbose #6102 > >
00:01:26 verbose #6103 > > [[
00:01:26 verbose #6104 > > "file1.txt", nameof FileSystemChangeType.Deleted
00:01:26 verbose #6105 > > "file2.txt", nameof FileSystemChangeType.Deleted
00:01:26 verbose #6106 > > ]]
00:01:26 verbose #6107 > > |> Map.ofList
00:01:26 verbose #6108 > > |> _sequenceEqual eventMap
00:01:26 verbose #6109 > >
00:01:26 verbose #6110 > > run
00:01:26 verbose #6111 > > |> retry_fn 3
00:01:26 verbose #6112 > > |> _assertEqual (Some ())
00:01:27 verbose #6113 > >
00:01:27 verbose #6114 > > ╭─[ 1.04s - stdout ]───────────────────────────────────────────────────────────╮
00:01:27 verbose #6115 > > │ Some () │
00:01:27 verbose #6116 > > │ │
00:01:27 verbose #6117 > > │ 00:00:18 debug #6 watchWithFilter / Disposing watch stream / filter: │
00:01:27 verbose #6118 > > │ FileName, LastWrite │
00:01:27 verbose #6119 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file1.txt", │
00:01:27 verbose #6120 > > │ "Deleted"); ("file2.txt", "Created"); │
00:01:27 verbose #6121 > > │ ("file2.txt", "Changed"); ("file2.txt", "Deleted")] │
00:01:27 verbose #6122 > > │ │
00:01:27 verbose #6123 > > │ map [("file1.txt", "Deleted"); ("file2.txt", "Deleted")] │
00:01:27 verbose #6124 > > │ │
00:01:27 verbose #6125 > > │ Some () │
00:01:27 verbose #6126 > > │ │
00:01:27 verbose #6127 > > │ │
00:01:27 verbose #6128 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:27 verbose #6129 > >
00:01:27 verbose #6130 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:27 verbose #6131 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:27 verbose #6132 > > │ #### rename (test) │
00:01:27 verbose #6133 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:27 verbose #6134 > >
00:01:27 verbose #6135 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:27 verbose #6136 > > //// test
00:01:27 verbose #6137 > >
00:01:27 verbose #6138 > > let inline write path = async {
00:01:27 verbose #6139 > > let n = 2
00:01:27 verbose #6140 > >
00:01:27 verbose #6141 > > for i = 1 to n do
00:01:27 verbose #6142 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:27 verbose #6143 > > $"file{i}.txt")
00:01:27 verbose #6144 > >
00:01:27 verbose #6145 > > for i = 1 to n do
00:01:27 verbose #6146 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path
00:01:27 verbose #6147 > > </> $"file_{i}.txt") |> Async.Ignore
00:01:27 verbose #6148 > >
00:01:27 verbose #6149 > > for i = 1 to n do
00:01:27 verbose #6150 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |>
00:01:27 verbose #6151 > > Async.Ignore
00:01:27 verbose #6152 > >
00:01:27 verbose #6153 > > do! Async.Sleep 150
00:01:27 verbose #6154 > > }
00:01:27 verbose #6155 > >
00:01:27 verbose #6156 > > let inline run () =
00:01:27 verbose #6157 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
00:01:27 verbose #6158 > > write
00:01:27 verbose #6159 > >
00:01:27 verbose #6160 > > [[
00:01:27 verbose #6161 > > "file1.txt", nameof FileSystemChangeType.Created
00:01:27 verbose #6162 > > "file1.txt", nameof FileSystemChangeType.Changed
00:01:27 verbose #6163 > > "file2.txt", nameof FileSystemChangeType.Created
00:01:27 verbose #6164 > > "file2.txt", nameof FileSystemChangeType.Changed
00:01:27 verbose #6165 > >
00:01:27 verbose #6166 > > "file_1.txt", nameof FileSystemChangeType.Renamed
00:01:27 verbose #6167 > > "file_1.txt", nameof FileSystemChangeType.Deleted
00:01:27 verbose #6168 > >
00:01:27 verbose #6169 > > "file_2.txt", nameof FileSystemChangeType.Renamed
00:01:27 verbose #6170 > > "file_2.txt", nameof FileSystemChangeType.Deleted
00:01:27 verbose #6171 > > ]]
00:01:27 verbose #6172 > > |> _sequenceEqual eventList
00:01:27 verbose #6173 > >
00:01:27 verbose #6174 > > [[
00:01:27 verbose #6175 > > "file1.txt", nameof FileSystemChangeType.Changed
00:01:27 verbose #6176 > > "file2.txt", nameof FileSystemChangeType.Changed
00:01:27 verbose #6177 > > "file_1.txt", nameof FileSystemChangeType.Deleted
00:01:27 verbose #6178 > > "file_2.txt", nameof FileSystemChangeType.Deleted
00:01:27 verbose #6179 > > ]]
00:01:27 verbose #6180 > > |> Map.ofList
00:01:27 verbose #6181 > > |> _sequenceEqual eventMap
00:01:27 verbose #6182 > >
00:01:27 verbose #6183 > > run
00:01:27 verbose #6184 > > |> retry_fn 3
00:01:27 verbose #6185 > > |> _assertEqual (Some ())
00:01:28 verbose #6186 > >
00:01:28 verbose #6187 > > ╭─[ 1.09s - stdout ]───────────────────────────────────────────────────────────╮
00:01:28 verbose #6188 > > │ Some () │
00:01:28 verbose #6189 > > │ │
00:01:28 verbose #6190 > > │ 00:00:19 debug #7 watchWithFilter / Disposing watch stream / filter: │
00:01:28 verbose #6191 > > │ FileName, LastWrite │
00:01:28 verbose #6192 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file2.txt", │
00:01:28 verbose #6193 > > │ "Created"); ("file2.txt", "Changed"); │
00:01:28 verbose #6194 > > │ ("file_1.txt", "Renamed"); ("file_1.txt", "Deleted"); ("file_2.txt", │
00:01:28 verbose #6195 > > │ "Renamed"); ("file_2.txt", "Deleted")] │
00:01:28 verbose #6196 > > │ │
00:01:28 verbose #6197 > > │ map [("file1.txt", "Changed"); ("file2.txt", "Changed"); ("file_1.txt", │
00:01:28 verbose #6198 > > │ "Deleted"); ("file_2.txt", "Deleted")] │
00:01:28 verbose #6199 > > │ │
00:01:28 verbose #6200 > > │ Some () │
00:01:28 verbose #6201 > > │ │
00:01:28 verbose #6202 > > │ │
00:01:28 verbose #6203 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:28 verbose #6204 > >
00:01:28 verbose #6205 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:28 verbose #6206 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:28 verbose #6207 > > │ #### full (test) │
00:01:28 verbose #6208 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:28 verbose #6209 > >
00:01:28 verbose #6210 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:28 verbose #6211 > > //// test
00:01:28 verbose #6212 > >
00:01:28 verbose #6213 > > let inline write path = async {
00:01:28 verbose #6214 > > let n = 2
00:01:28 verbose #6215 > >
00:01:28 verbose #6216 > > for i = 1 to n do
00:01:28 verbose #6217 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:28 verbose #6218 > > $"file{i}.txt")
00:01:28 verbose #6219 > >
00:01:28 verbose #6220 > > for i = 1 to n do
00:01:28 verbose #6221 > > do! "" |> SpiralFileSystem.write_all_text_async (path </>
00:01:28 verbose #6222 > > $"file{i}.txt")
00:01:28 verbose #6223 > >
00:01:28 verbose #6224 > > for i = 1 to n do
00:01:28 verbose #6225 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path
00:01:28 verbose #6226 > > </> $"file_{i}.txt") |> Async.Ignore
00:01:28 verbose #6227 > >
00:01:28 verbose #6228 > > for i = 1 to n do
00:01:28 verbose #6229 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </>
00:01:28 verbose #6230 > > $"file_{i}.txt")
00:01:28 verbose #6231 > >
00:01:28 verbose #6232 > > for i = 1 to n do
00:01:28 verbose #6233 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |>
00:01:28 verbose #6234 > > Async.Ignore
00:01:28 verbose #6235 > >
00:01:28 verbose #6236 > > do! Async.Sleep 150
00:01:28 verbose #6237 > > }
00:01:28 verbose #6238 > >
00:01:28 verbose #6239 > > let inline run () =
00:01:28 verbose #6240 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false))
00:01:28 verbose #6241 > > write
00:01:28 verbose #6242 > >
00:01:28 verbose #6243 > > [[
00:01:28 verbose #6244 > > "file1.txt", nameof FileSystemChangeType.Created
00:01:28 verbose #6245 > > "file1.txt", nameof FileSystemChangeType.Changed
00:01:28 verbose #6246 > > "file2.txt", nameof FileSystemChangeType.Created
00:01:28 verbose #6247 > > "file2.txt", nameof FileSystemChangeType.Changed
00:01:28 verbose #6248 > >
00:01:28 verbose #6249 > > "file_1.txt", nameof FileSystemChangeType.Changed
00:01:28 verbose #6250 > > "file_1.txt", nameof FileSystemChangeType.Renamed
00:01:28 verbose #6251 > > "file_1.txt", nameof FileSystemChangeType.Deleted
00:01:28 verbose #6252 > >
00:01:28 verbose #6253 > > "file_2.txt", nameof FileSystemChangeType.Changed
00:01:28 verbose #6254 > > "file_2.txt", nameof FileSystemChangeType.Renamed
00:01:28 verbose #6255 > > "file_2.txt", nameof FileSystemChangeType.Deleted
00:01:28 verbose #6256 > > ]]
00:01:28 verbose #6257 > > |> _sequenceEqual eventList
00:01:28 verbose #6258 > >
00:01:28 verbose #6259 > > [[
00:01:28 verbose #6260 > > "file1.txt", nameof FileSystemChangeType.Changed
00:01:28 verbose #6261 > > "file2.txt", nameof FileSystemChangeType.Changed
00:01:28 verbose #6262 > > "file_1.txt", nameof FileSystemChangeType.Deleted
00:01:28 verbose #6263 > > "file_2.txt", nameof FileSystemChangeType.Deleted
00:01:28 verbose #6264 > > ]]
00:01:28 verbose #6265 > > |> Map.ofList
00:01:28 verbose #6266 > > |> _sequenceEqual eventMap
00:01:28 verbose #6267 > >
00:01:28 verbose #6268 > > run
00:01:28 verbose #6269 > > |> retry_fn 3
00:01:28 verbose #6270 > > |> _assertEqual (Some ())
00:01:30 verbose #6271 > >
00:01:30 verbose #6272 > > ╭─[ 1.23s - stdout ]───────────────────────────────────────────────────────────╮
00:01:30 verbose #6273 > > │ Some () │
00:01:30 verbose #6274 > > │ │
00:01:30 verbose #6275 > > │ 00:00:20 debug #8 watchWithFilter / Disposing watch stream / filter: │
00:01:30 verbose #6276 > > │ FileName, LastWrite │
00:01:30 verbose #6277 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file2.txt", │
00:01:30 verbose #6278 > > │ "Created"); ("file2.txt", "Changed"); │
00:01:30 verbose #6279 > > │ ("file_1.txt", "Changed"); ("file_1.txt", "Renamed"); ("file_1.txt", │
00:01:30 verbose #6280 > > │ "Deleted"); ("file_2.txt", "Changed"); │
00:01:30 verbose #6281 > > │ ("file_2.txt", "Renamed"); ("file_2.txt", "Deleted")] │
00:01:30 verbose #6282 > > │ │
00:01:30 verbose #6283 > > │ map [("file1.txt", "Changed"); ("file2.txt", "Changed"); ("file_1.txt", │
00:01:30 verbose #6284 > > │ "Deleted"); ("file_2.txt", "Deleted")] │
00:01:30 verbose #6285 > > │ │
00:01:30 verbose #6286 > > │ Some () │
00:01:30 verbose #6287 > > │ │
00:01:30 verbose #6288 > > │ │
00:01:30 verbose #6289 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:30 verbose #6290 > 00:00:32 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 196324
00:01:30 verbose #6291 > 00:00:32 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:30 verbose #6292 > 00:00:32 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb to html
00:01:30 verbose #6293 > 00:00:32 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:30 verbose #6294 > 00:00:32 verbose #7 ! validate(nb)
00:01:31 verbose #6295 > 00:00:33 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:31 verbose #6296 > 00:00:33 verbose #9 ! return _pygments_highlight(
00:01:31 verbose #6297 > 00:00:33 verbose #10 ! [NbConvertApp] Writing 445358 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.html
00:01:31 verbose #6298 > 00:00:33 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 904
00:01:31 verbose #6299 > 00:00:33 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 904
00:01:31 verbose #6300 > 00:00:33 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:32 verbose #6301 > 00:00:34 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:32 verbose #6302 > 00:00:34 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:32 verbose #6303 > 00:00:34 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 197287
00:01:32 debug #6304 execute_with_options_async / exit_code: 0 / output.Length: 205532
00:01:32 debug #7 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path FileSystem.dib --retries 3
00:01:32 debug #6305 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path Runtime.dib --retries 3",
[||], None, None, true, None)
00:01:32 verbose #6306 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Runtime.dib", "--retries", "3"])
00:01:32 verbose #6307 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:01:33 verbose #6308 > >
00:01:33 verbose #6309 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:33 verbose #6310 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:33 verbose #6311 > > │ # Runtime (Polyglot) │
00:01:33 verbose #6312 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:33 verbose #6313 > >
00:01:33 verbose #6314 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:33 verbose #6315 > > #r
00:01:33 verbose #6316 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
00:01:33 verbose #6317 > > dard2.1/FSharp.Control.AsyncSeq.dll"
00:01:33 verbose #6318 > > #r
00:01:33 verbose #6319 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
00:01:33 verbose #6320 > > 0/System.Reactive.dll"
00:01:33 verbose #6321 > > #r
00:01:33 verbose #6322 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
00:01:33 verbose #6323 > > netstandard2.0/System.Reactive.Linq.dll"
00:01:33 verbose #6324 > > #r
00:01:33 verbose #6325 > > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll"
00:01:33 verbose #6326 > >
00:01:33 verbose #6327 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:33 verbose #6328 > > #r
00:01:33 verbose #6329 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:01:33 verbose #6330 > > NetCore.Html.Abstractions.dll"
00:01:33 verbose #6331 > > #r
00:01:33 verbose #6332 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:33 verbose #6333 > > Net.Interactive.dll"
00:01:33 verbose #6334 > > #r
00:01:33 verbose #6335 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:33 verbose #6336 > > Net.Interactive.FSharp.dll"
00:01:33 verbose #6337 > > #r
00:01:33 verbose #6338 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:33 verbose #6339 > > Net.Interactive.Formatting.dll"
00:01:33 verbose #6340 > > open System
00:01:33 verbose #6341 > > open System.IO
00:01:33 verbose #6342 > > open System.Text
00:01:33 verbose #6343 > > open Microsoft.DotNet.Interactive.Formatting
00:01:35 verbose #6344 > >
00:01:35 verbose #6345 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:35 verbose #6346 > > #r
00:01:35 verbose #6347 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:35 verbose #6348 > > Net.Interactive.FSharp.dll"
00:01:35 verbose #6349 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:01:35 verbose #6350 > > #r
00:01:35 verbose #6351 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:35 verbose #6352 > > Net.Interactive.dll"
00:01:35 verbose #6353 > > open type Microsoft.DotNet.Interactive.Kernel
00:01:35 verbose #6354 > >
00:01:35 verbose #6355 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:35 verbose #6356 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:01:36 verbose #6357 > >
00:01:36 verbose #6358 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:36 verbose #6359 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:01:36 verbose #6360 > > TextWriter)->fprintfn writer "%120A" x)
00:01:36 verbose #6361 > >
00:01:36 verbose #6362 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #6363 > > #!import ../../lib/fsharp/Notebooks.dib
00:01:36 verbose #6364 > > #!import ../../lib/fsharp/Testing.dib
00:01:36 verbose #6365 > >
00:01:36 verbose #6366 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:36 verbose #6367 > > //// test
00:01:36 verbose #6368 > >
00:01:36 verbose #6369 > > Formatter.ListExpansionLimit <- 100
00:01:36 verbose #6370 > >
00:01:36 verbose #6371 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:36 verbose #6372 > > #if FABLE_COMPILER
00:01:36 verbose #6373 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:01:36 verbose #6374 > > #endif
00:01:36 verbose #6375 > > type std_env_VarError = class end
00:01:36 verbose #6376 > > #if FABLE_COMPILER
00:01:36 verbose #6377 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:36 verbose #6378 > > #endif
00:01:36 verbose #6379 > > type core_any_Any = class end
00:01:36 verbose #6380 > > #if FABLE_COMPILER
00:01:36 verbose #6381 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:36 verbose #6382 > > #endif
00:01:36 verbose #6383 > > type core_ops_Try<'T> = class end
00:01:36 verbose #6384 > > #if FABLE_COMPILER
00:01:36 verbose #6385 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:36 verbose #6386 > > #endif
00:01:36 verbose #6387 > > type Func0<'T> = class end
00:01:36 verbose #6388 > > #if FABLE_COMPILER
00:01:36 verbose #6389 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:36 verbose #6390 > > #endif
00:01:36 verbose #6391 > > type Func0<'T, 'U> = class end
00:01:36 verbose #6392 > > #if FABLE_COMPILER
00:01:36 verbose #6393 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:36 verbose #6394 > > #endif
00:01:36 verbose #6395 > > type Box<'T> = class end
00:01:36 verbose #6396 > > #if FABLE_COMPILER
00:01:36 verbose #6397 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:01:36 verbose #6398 > > #endif
00:01:36 verbose #6399 > > type Dyn<'T> = class end
00:01:36 verbose #6400 > > #if FABLE_COMPILER
00:01:36 verbose #6401 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:01:36 verbose #6402 > > #endif
00:01:36 verbose #6403 > > type Send<'T> = class end
00:01:36 verbose #6404 > > #if FABLE_COMPILER
00:01:36 verbose #6405 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:01:36 verbose #6406 > > #endif
00:01:36 verbose #6407 > > type Fn<'T> = class end
00:01:36 verbose #6408 > > #if FABLE_COMPILER
00:01:36 verbose #6409 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:01:36 verbose #6410 > > #endif
00:01:36 verbose #6411 > > type FnUnit = class end
00:01:36 verbose #6412 > > #if FABLE_COMPILER
00:01:36 verbose #6413 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:01:36 verbose #6414 > > #endif
00:01:36 verbose #6415 > > type FnOnce<'T> = class end
00:01:36 verbose #6416 > > #if FABLE_COMPILER
00:01:36 verbose #6417 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:01:36 verbose #6418 > > #endif
00:01:36 verbose #6419 > > type ActionFn<'T> = class end
00:01:36 verbose #6420 > > #if FABLE_COMPILER
00:01:36 verbose #6421 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:01:36 verbose #6422 > > #endif
00:01:36 verbose #6423 > > type ActionFn2<'T, 'U> = class end
00:01:36 verbose #6424 > > #if FABLE_COMPILER
00:01:36 verbose #6425 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:01:36 verbose #6426 > > #endif
00:01:36 verbose #6427 > > type Impl<'T> = class end
00:01:36 verbose #6428 > > #if FABLE_COMPILER
00:01:36 verbose #6429 > > [[<Fable...
00:01:37 verbose #6430 > >
00:01:37 verbose #6431 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:37 verbose #6432 > > #if FABLE_COMPILER
00:01:37 verbose #6433 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:37 verbose #6434 > > #endif
00:01:37 verbose #6435 > > type core_any_Any = class end
00:01:37 verbose #6436 > > #if FABLE_COMPILER
00:01:37 verbose #6437 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:37 verbose #6438 > > #endif
00:01:37 verbose #6439 > > type core_ops_Try<'T> = class end
00:01:37 verbose #6440 > > #if FABLE_COMPILER
00:01:37 verbose #6441 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:37 verbose #6442 > > #endif
00:01:37 verbose #6443 > > type Func0<'T> = class end
00:01:37 verbose #6444 > > #if FABLE_COMPILER
00:01:37 verbose #6445 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:37 verbose #6446 > > #endif
00:01:37 verbose #6447 > > type Func0<'T, 'U> = class end
00:01:37 verbose #6448 > > #if FABLE_COMPILER
00:01:37 verbose #6449 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:37 verbose #6450 > > #endif
00:01:37 verbose #6451 > > type Box<'T> = class end
00:01:37 verbose #6452 > > #if FABLE_COMPILER
00:01:37 verbose #6453 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:01:37 verbose #6454 > > #endif
00:01:37 verbose #6455 > > type Dyn<'T> = class end
00:01:37 verbose #6456 > > #if FABLE_COMPILER
00:01:37 verbose #6457 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:01:37 verbose #6458 > > #endif
00:01:37 verbose #6459 > > type Send<'T> = class end
00:01:37 verbose #6460 > > #if FABLE_COMPILER
00:01:37 verbose #6461 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:01:37 verbose #6462 > > #endif
00:01:37 verbose #6463 > > type Fn<'T> = class end
00:01:37 verbose #6464 > > #if FABLE_COMPILER
00:01:37 verbose #6465 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:01:37 verbose #6466 > > #endif
00:01:37 verbose #6467 > > type FnUnit = class end
00:01:37 verbose #6468 > > #if FABLE_COMPILER
00:01:37 verbose #6469 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:01:37 verbose #6470 > > #endif
00:01:37 verbose #6471 > > type FnOnce<'T> = class end
00:01:37 verbose #6472 > > #if FABLE_COMPILER
00:01:37 verbose #6473 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:01:37 verbose #6474 > > #endif
00:01:37 verbose #6475 > > type ActionFn<'T> = class end
00:01:37 verbose #6476 > > #if FABLE_COMPILER
00:01:37 verbose #6477 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:01:37 verbose #6478 > > #endif
00:01:37 verbose #6479 > > type ActionFn2<'T, 'U> = class end
00:01:37 verbose #6480 > > #if FABLE_COMPILER
00:01:37 verbose #6481 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:01:37 verbose #6482 > > #endif
00:01:37 verbose #6483 > > type Impl<'T> = class end
00:01:37 verbose #6484 > > #if FABLE_COMPILER
00:01:37 verbose #6485 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:01:37 verbose #6486 > > #endif
00:01:37 verbose #6487 > > type Mut<'T> = class end
00:01:37 verbose #6488 > > #if FABLE_COMPILER
00:01:37 verbose #6489 > > [[<Fable.Core.Erase; Fable.Co...
00:01:38 verbose #6490 > >
00:01:38 verbose #6491 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:38 verbose #6492 > > #if FABLE_COMPILER
00:01:38 verbose #6493 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:01:38 verbose #6494 > > #endif
00:01:38 verbose #6495 > > type async_std_task_JoinHandle<'T> = class end
00:01:38 verbose #6496 > > #if FABLE_COMPILER
00:01:38 verbose #6497 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:01:38 verbose #6498 > > #endif
00:01:38 verbose #6499 > > type std_future_Future<'T> = class end
00:01:38 verbose #6500 > > #if FABLE_COMPILER
00:01:38 verbose #6501 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:01:38 verbose #6502 > > #endif
00:01:38 verbose #6503 > > type rayon_vec_IntoIter<'T> = class end
00:01:38 verbose #6504 > > #if FABLE_COMPILER
00:01:38 verbose #6505 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:01:38 verbose #6506 > > #endif
00:01:38 verbose #6507 > > type rayon_iter_Map<'T> = class end
00:01:38 verbose #6508 > > #if FABLE_COMPILER
00:01:38 verbose #6509 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:01:38 verbose #6510 > > #endif
00:01:38 verbose #6511 > > type futures_lite_stream_StreamExt = class end
00:01:38 verbose #6512 > > #if FABLE_COMPILER
00:01:38 verbose #6513 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:01:38 verbose #6514 > > #endif
00:01:38 verbose #6515 > > type futures_future_TryJoinAll<'T> = class end
00:01:38 verbose #6516 > > #if FABLE_COMPILER
00:01:38 verbose #6517 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:01:38 verbose #6518 > > #endif
00:01:38 verbose #6519 > > type futures_future_Fuse<'T> = class end
00:01:38 verbose #6520 > > #if FABLE_COMPILER
00:01:38 verbose #6521 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:01:38 verbose #6522 > > #endif
00:01:38 verbose #6523 > > type futures_future_JoinAll<'T> = class end
00:01:38 verbose #6524 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:01:38 verbose #6525 > > Async<System.Threading.CancellationToken> =
00:01:38 verbose #6526 > > let v1 : bool = true
00:01:38 verbose #6527 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:01:38 verbose #6528 > >
00:01:38 verbose #6529 > > #if FABLE_COMPILER || WASM || CONTRACT
00:01:38 verbose #6530 > >
00:01:38 verbose #6531 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:01:38 verbose #6532 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:01:38 verbose #6533 > > unbox<Async<System...
00:01:38 verbose #6534 > >
00:01:38 verbose #6535 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:38 verbose #6536 > > #if FABLE_COMPILER
00:01:38 verbose #6537 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:01:38 verbose #6538 > > #endif
00:01:38 verbose #6539 > > type std_thread_JoinHandle<'T> = class end
00:01:38 verbose #6540 > > #if FABLE_COMPILER
00:01:38 verbose #6541 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:01:38 verbose #6542 > > #endif
00:01:38 verbose #6543 > > type std_sync_Arc<'T> = class end
00:01:38 verbose #6544 > > #if FABLE_COMPILER
00:01:38 verbose #6545 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:01:38 verbose #6546 > > #endif
00:01:38 verbose #6547 > > type std_sync_Mutex<'T> = class end
00:01:38 verbose #6548 > > #if FABLE_COMPILER
00:01:38 verbose #6549 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:01:38 verbose #6550 > > #endif
00:01:38 verbose #6551 > > type std_sync_MutexGuard<'T> = class end
00:01:38 verbose #6552 > > #if FABLE_COMPILER
00:01:38 verbose #6553 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:01:38 verbose #6554 > > #endif
00:01:38 verbose #6555 > > type std_sync_PoisonError<'T> = class end
00:01:38 verbose #6556 > > #if FABLE_COMPILER
00:01:38 verbose #6557 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:01:38 verbose #6558 > > #endif
00:01:38 verbose #6559 > > type std_sync_mpsc_Receiver<'T> = class end
00:01:38 verbose #6560 > > #if FABLE_COMPILER
00:01:38 verbose #6561 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:01:38 verbose #6562 > > #endif
00:01:38 verbose #6563 > > type std_sync_mpsc_SendError<'T> = class end
00:01:38 verbose #6564 > > #if FABLE_COMPILER
00:01:38 verbose #6565 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:01:38 verbose #6566 > > #endif
00:01:38 verbose #6567 > > type std_sync_mpsc_Sender<'T> = class end
00:01:38 verbose #6568 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:01:38 verbose #6569 > > _.Dispose () = f ()
00:01:38 verbose #6570 > > type [[<Struct>]] US0 =
00:01:38 verbose #6571 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:01:38 verbose #6572 > > | US0_1
00:01:38 verbose #6573 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:01:38 verbose #6574 > > let v1 : bool = true
00:01:38 verbose #6575 > > let mutable _v1 : unit option = None
00:01:38 verbose #6576 > >
00:01:38 verbose #6577 > > #if FABLE_COMPILER || WASM || CONTRACT
00:01:38 verbose #6578 > >
00:01:38 verbose #6579 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:01:38 verbose #6580 > >
00:01:38 verbose #6581 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:38 verbose #6582 > > #if FABLE_COMPILER
00:01:38 verbose #6583 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:01:38 verbose #6584 > > #endif
00:01:38 verbose #6585 > > type reqwest_Error = class end
00:01:38 verbose #6586 > > #if FABLE_COMPILER
00:01:38 verbose #6587 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:01:38 verbose #6588 > > #endif
00:01:38 verbose #6589 > > type reqwest_RequestBuilder = class end
00:01:38 verbose #6590 > > #if FABLE_COMPILER
00:01:38 verbose #6591 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:01:38 verbose #6592 > > #endif
00:01:38 verbose #6593 > > type reqwest_Response = class end
00:01:38 verbose #6594 > > #if FABLE_COMPILER
00:01:38 verbose #6595 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:01:38 verbose #6596 > > #endif
00:01:38 verbose #6597 > > type std_env_VarError = class end
00:01:38 verbose #6598 > > #if FABLE_COMPILER
00:01:38 verbose #6599 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:38 verbose #6600 > > #endif
00:01:38 verbose #6601 > > type core_any_Any = class end
00:01:38 verbose #6602 > > #if FABLE_COMPILER
00:01:38 verbose #6603 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:38 verbose #6604 > > #endif
00:01:38 verbose #6605 > > type core_ops_Try<'T> = class end
00:01:38 verbose #6606 > > #if FABLE_COMPILER
00:01:38 verbose #6607 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:38 verbose #6608 > > #endif
00:01:38 verbose #6609 > > type Func0<'T> = class end
00:01:38 verbose #6610 > > #if FABLE_COMPILER
00:01:38 verbose #6611 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:38 verbose #6612 > > #endif
00:01:38 verbose #6613 > > type Func0<'T, 'U> = class end
00:01:38 verbose #6614 > > #if FABLE_COMPILER
00:01:38 verbose #6615 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:38 verbose #6616 > > #endif
00:01:38 verbose #6617 > > type Box<'T> = class end
00:01:38 verbose #6618 > > #if FABLE_COMPILER
00:01:38 verbose #6619 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:01:38 verbose #6620 > > #endif
00:01:38 verbose #6621 > > type Dyn<'T> = class end
00:01:38 verbose #6622 > > #if FABLE_COMPILER
00:01:38 verbose #6623 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:01:38 verbose #6624 > > #endif
00:01:38 verbose #6625 > > type Send<'T> = class end
00:01:38 verbose #6626 > > #if FABLE_COMPILER
00:01:38 verbose #6627 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:01:38 verbose #6628 > > #endif
00:01:38 verbose #6629 > > type Fn<'T> = class end
00:01:38 verbose #6630 > > #if FABLE_COMPILER
00:01:38 verbose #6631 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:01:38 verbose #6632 > > #endif
00:01:38 verbose #6633 > > type FnUnit = class end
00:01:38 verbose #6634 > > #if FABLE_COMPILER
00:01:38 verbose #6635 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:01:38 verbose #6636 > > #...
00:01:40 verbose #6637 > >
00:01:40 verbose #6638 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:40 verbose #6639 > > #if FABLE_COMPILER
00:01:40 verbose #6640 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:01:40 verbose #6641 > > #endif
00:01:40 verbose #6642 > > type clap_Arg = class end
00:01:40 verbose #6643 > > #if FABLE_COMPILER
00:01:40 verbose #6644 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:01:40 verbose #6645 > > #endif
00:01:40 verbose #6646 > > type clap_ArgAction = class end
00:01:40 verbose #6647 > > #if FABLE_COMPILER
00:01:40 verbose #6648 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:01:40 verbose #6649 > > #endif
00:01:40 verbose #6650 > > type clap_Command = class end
00:01:40 verbose #6651 > > #if FABLE_COMPILER
00:01:40 verbose #6652 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:01:40 verbose #6653 > > #endif
00:01:40 verbose #6654 > > type clap_ArgMatches = class end
00:01:40 verbose #6655 > > #if FABLE_COMPILER
00:01:40 verbose #6656 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:01:40 verbose #6657 > > #endif
00:01:40 verbose #6658 > > type clap_builder_ValueRange = class end
00:01:40 verbose #6659 > > #if FABLE_COMPILER
00:01:40 verbose #6660 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:01:40 verbose #6661 > > #endif
00:01:40 verbose #6662 > > type clap_builder_ValueParser = class end
00:01:40 verbose #6663 > > #if FABLE_COMPILER
00:01:40 verbose #6664 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:01:40 verbose #6665 > > #endif
00:01:40 verbose #6666 > > type clap_builder_PossibleValue = class end
00:01:40 verbose #6667 > > #if FABLE_COMPILER
00:01:40 verbose #6668 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:01:40 verbose #6669 > > #endif
00:01:40 verbose #6670 > > type std_process_Child = class end
00:01:40 verbose #6671 > > #if FABLE_COMPILER
00:01:40 verbose #6672 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:01:40 verbose #6673 > > #endif
00:01:40 verbose #6674 > > type std_process_ChildStderr = class end
00:01:40 verbose #6675 > > #if FABLE_COMPILER
00:01:40 verbose #6676 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:01:40 verbose #6677 > > #endif
00:01:40 verbose #6678 > > type std_process_ChildStdout = class end
00:01:40 verbose #6679 > > #if FABLE_COMPILER
00:01:40 verbose #6680 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:01:40 verbose #6681 > > #endif
00:01:40 verbose #6682 > > type std_process_ChildStdin = class end
00:01:40 verbose #6683 > > #if FABLE_COMPILER
00:01:40 verbose #6684 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:01:40 verbose #6685 > > #endif
00:01:40 verbose #6686 > > type std_process_Command = class ...
00:01:41 verbose #6687 > >
00:01:41 verbose #6688 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:41 verbose #6689 > > #if FABLE_COMPILER
00:01:41 verbose #6690 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:01:41 verbose #6691 > > #endif
00:01:41 verbose #6692 > > type std_fs_File = class end
00:01:41 verbose #6693 > > #if FABLE_COMPILER
00:01:41 verbose #6694 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:01:41 verbose #6695 > > #endif
00:01:41 verbose #6696 > > type std_fs_FileType = class end
00:01:41 verbose #6697 > > #if FABLE_COMPILER
00:01:41 verbose #6698 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:01:41 verbose #6699 > > #endif
00:01:41 verbose #6700 > > type std_path_Display = class end
00:01:41 verbose #6701 > > #if FABLE_COMPILER
00:01:41 verbose #6702 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:01:41 verbose #6703 > > #endif
00:01:41 verbose #6704 > > type std_path_Path = class end
00:01:41 verbose #6705 > > #if FABLE_COMPILER
00:01:41 verbose #6706 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:01:41 verbose #6707 > > #endif
00:01:41 verbose #6708 > > type std_path_PathBuf = class end
00:01:41 verbose #6709 > > #if FABLE_COMPILER
00:01:41 verbose #6710 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:01:41 verbose #6711 > > #endif
00:01:41 verbose #6712 > > type async_walkdir_DirEntry = class end
00:01:41 verbose #6713 > > #if FABLE_COMPILER
00:01:41 verbose #6714 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:01:41 verbose #6715 > > #endif
00:01:41 verbose #6716 > > type async_walkdir_Filtering = class end
00:01:41 verbose #6717 > > #if FABLE_COMPILER
00:01:41 verbose #6718 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:01:41 verbose #6719 > > #endif
00:01:41 verbose #6720 > > type async_walkdir_WalkDir = class end
00:01:41 verbose #6721 > > #if FABLE_COMPILER
00:01:41 verbose #6722 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:01:41 verbose #6723 > > #endif
00:01:41 verbose #6724 > > type core_any_Any = class end
00:01:41 verbose #6725 > > #if FABLE_COMPILER
00:01:41 verbose #6726 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:01:41 verbose #6727 > > #endif
00:01:41 verbose #6728 > > type core_ops_Try<'T> = class end
00:01:41 verbose #6729 > > #if FABLE_COMPILER
00:01:41 verbose #6730 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:01:41 verbose #6731 > > #endif
00:01:41 verbose #6732 > > type Func0<'T> = class end
00:01:41 verbose #6733 > > #if FABLE_COMPILER
00:01:41 verbose #6734 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:01:41 verbose #6735 > > #endif
00:01:41 verbose #6736 > > type Func0<'T, 'U> = class end
00:01:41 verbose #6737 > > #if FABLE_COMPILER
00:01:41 verbose #6738 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:01:41 verbose #6739 > > #endif
00:01:41 verbose #6740 > > type Box<'T> = clas...
00:01:43 verbose #6741 > >
00:01:43 verbose #6742 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6743 > > module SpiralTrace =
00:01:43 verbose #6744 > > let trace x =
00:01:43 verbose #6745 > > #if !INTERACTIVE
00:01:43 verbose #6746 > > Trace.trace x
00:01:43 verbose #6747 > > #else
00:01:43 verbose #6748 > > trace x
00:01:43 verbose #6749 > > #endif
00:01:43 verbose #6750 > >
00:01:43 verbose #6751 > > type TraceLevel =
00:01:43 verbose #6752 > > #if !INTERACTIVE
00:01:43 verbose #6753 > > Trace.US0
00:01:43 verbose #6754 > > #else
00:01:43 verbose #6755 > > US0
00:01:43 verbose #6756 > > #endif
00:01:43 verbose #6757 > >
00:01:43 verbose #6758 > > module SpiralCrypto =
00:01:43 verbose #6759 > > let hash_text x =
00:01:43 verbose #6760 > > #if !INTERACTIVE
00:01:43 verbose #6761 > > Crypto.hash_text x
00:01:43 verbose #6762 > > #else
00:01:43 verbose #6763 > > hash_text x
00:01:43 verbose #6764 > > #endif
00:01:43 verbose #6765 > >
00:01:43 verbose #6766 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:01:43 verbose #6767 > >
00:01:43 verbose #6768 > > module SpiralAsync =
00:01:43 verbose #6769 > > let merge_cancellation_token_with_default_async x =
00:01:43 verbose #6770 > > #if !INTERACTIVE
00:01:43 verbose #6771 > > Async_.merge_cancellation_token_with_default_async x
00:01:43 verbose #6772 > > #else
00:01:43 verbose #6773 > > merge_cancellation_token_with_default_async x
00:01:43 verbose #6774 > > #endif
00:01:43 verbose #6775 > >
00:01:43 verbose #6776 > > module SpiralThreading =
00:01:43 verbose #6777 > > let new_disposable_token x =
00:01:43 verbose #6778 > > #if !INTERACTIVE
00:01:43 verbose #6779 > > Threading.new_disposable_token x
00:01:43 verbose #6780 > > #else
00:01:43 verbose #6781 > > new_disposable_token x
00:01:43 verbose #6782 > > #endif
00:01:43 verbose #6783 > >
00:01:43 verbose #6784 > > module SpiralNetworking =
00:01:43 verbose #6785 > > let test_port_open x =
00:01:43 verbose #6786 > > #if !INTERACTIVE
00:01:43 verbose #6787 > > Networking.test_port_open x
00:01:43 verbose #6788 > > #else
00:01:43 verbose #6789 > > test_port_open x
00:01:43 verbose #6790 > > #endif
00:01:43 verbose #6791 > >
00:01:43 verbose #6792 > > let test_port_open_timeout x =
00:01:43 verbose #6793 > > #if !INTERACTIVE
00:01:43 verbose #6794 > > Networking.test_port_open_timeout x
00:01:43 verbose #6795 > > #else
00:01:43 verbose #6796 > > test_port_open_timeout x
00:01:43 verbose #6797 > > #endif
00:01:43 verbose #6798 > >
00:01:43 verbose #6799 > > let wait_for_port_access x =
00:01:43 verbose #6800 > > #if !INTERACTIVE
00:01:43 verbose #6801 > > Networking.wait_for_port_access x
00:01:43 verbose #6802 > > #else
00:01:43 verbose #6803 > > wait_for_port_access x
00:01:43 verbose #6804 > > #endif
00:01:43 verbose #6805 > >
00:01:43 verbose #6806 > > let get_available_port x =
00:01:43 verbose #6807 > > #if !INTERACTIVE
00:01:43 verbose #6808 > > Networking.get_available_port x
00:01:43 verbose #6809 > > #else
00:01:43 verbose #6810 > > get_available_port x
00:01:43 verbose #6811 > > #endif
00:01:43 verbose #6812 > >
00:01:43 verbose #6813 > > module SpiralRuntime =
00:01:43 verbose #6814 > > let get_executable_suffix () =
00:01:43 verbose #6815 > > #if !INTERACTIVE
00:01:43 verbose #6816 > > Runtime.get_executable_suffix ()
00:01:43 verbose #6817 > > #else
00:01:43 verbose #6818 > > get_executable_suffix ()
00:01:43 verbose #6819 > > #endif
00:01:43 verbose #6820 > >
00:01:43 verbose #6821 > > let is_windows () =
00:01:43 verbose #6822 > > #if !INTERACTIVE
00:01:43 verbose #6823 > > ...
00:01:43 verbose #6824 > >
00:01:43 verbose #6825 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6826 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:01:43 verbose #6827 > >
00:01:43 verbose #6828 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6829 > > //// test
00:01:43 verbose #6830 > >
00:01:43 verbose #6831 > > type AssertExceptionFormatter (ex) =
00:01:43 verbose #6832 > > member _.Text =
00:01:43 verbose #6833 > > ex.ToString()
00:01:43 verbose #6834 > > .Replace("32m", "<span style=\"color: green;\">")
00:01:43 verbose #6835 > > .Replace("36m", "</span>")
00:01:43 verbose #6836 > > .Replace("31m", "<span style=\"color: red;\">")
00:01:43 verbose #6837 > > .Replace("\n", "<br/>\n")
00:01:43 verbose #6838 > >
00:01:43 verbose #6839 > >
00:01:43 verbose #6840 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:01:43 verbose #6841 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:01:43 verbose #6842 > >
00:01:43 verbose #6843 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6844 > > //// test
00:01:43 verbose #6845 > >
00:01:43 verbose #6846 > > let inline __expect fn log expected actual =
00:01:43 verbose #6847 > > if log then printfn $"{actual.ToDisplayString ()}"
00:01:43 verbose #6848 > > try
00:01:43 verbose #6849 > > "Testing.__expect" |> fn actual expected
00:01:43 verbose #6850 > > with :? Expecto.AssertException as ex ->
00:01:43 verbose #6851 > > AssertExceptionFormatter(ex).Display () |> ignore
00:01:43 verbose #6852 > > failwith (ex.GetType().FullName)
00:01:43 verbose #6853 > >
00:01:43 verbose #6854 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:01:43 verbose #6855 > > expected actual
00:01:43 verbose #6856 > > let inline _contains expected actual = __contains true expected actual
00:01:43 verbose #6857 > >
00:01:43 verbose #6858 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:01:43 verbose #6859 > > expected actual
00:01:43 verbose #6860 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:01:43 verbose #6861 > >
00:01:43 verbose #6862 > > let inline __isGreaterThan log expected actual = __expect
00:01:43 verbose #6863 > > Expecto.Expect.isGreaterThan log expected actual
00:01:43 verbose #6864 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:01:43 verbose #6865 > >
00:01:43 verbose #6866 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:01:43 verbose #6867 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:01:43 verbose #6868 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:01:43 verbose #6869 > > expected actual
00:01:43 verbose #6870 > >
00:01:43 verbose #6871 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:01:43 verbose #6872 > > log expected actual
00:01:43 verbose #6873 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:01:43 verbose #6874 > >
00:01:43 verbose #6875 > > let inline __isLessThanOrEqual log expected actual = __expect
00:01:43 verbose #6876 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:01:43 verbose #6877 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:01:43 verbose #6878 > > expected actual
00:01:43 verbose #6879 > >
00:01:43 verbose #6880 > > let inline __sequenceEqual log expected actual = __expe...
00:01:43 verbose #6881 > >
00:01:43 verbose #6882 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6883 > > //// test
00:01:43 verbose #6884 > >
00:01:43 verbose #6885 > > let inline __isBetween log a b actual =
00:01:43 verbose #6886 > > let inline isBetween actual (a, b) _ =
00:01:43 verbose #6887 > > __isGreaterThanOrEqual log a actual
00:01:43 verbose #6888 > > __isLessThanOrEqual log b actual
00:01:43 verbose #6889 > > __expect isBetween log (a, b) actual
00:01:43 verbose #6890 > > let inline _isBetween a b actual = __isBetween true a b actual
00:01:43 verbose #6891 > >
00:01:43 verbose #6892 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:43 verbose #6893 > > #!import ../../lib/fsharp/Common.fs
00:01:43 verbose #6894 > > #!import ../../lib/fsharp/CommonFSharp.fs
00:01:43 verbose #6895 > > #!import ../../lib/fsharp/Async.fs
00:01:43 verbose #6896 > > #!import ../../lib/fsharp/AsyncSeq.fs
00:01:43 verbose #6897 > > #!import ../../lib/fsharp/Runtime.fs
00:01:43 verbose #6898 > > #!import ../../lib/fsharp/FileSystem.fs
00:01:43 verbose #6899 > >
00:01:43 verbose #6900 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6901 > > #if !INTERACTIVE
00:01:43 verbose #6902 > > namespace Polyglot
00:01:43 verbose #6903 > > #endif
00:01:43 verbose #6904 > >
00:01:43 verbose #6905 > > module Common =
00:01:43 verbose #6906 > >
00:01:43 verbose #6907 > > #if !INTERACTIVE
00:01:43 verbose #6908 > > open Lib
00:01:43 verbose #6909 > > #endif
00:01:43 verbose #6910 > >
00:01:43 verbose #6911 > > let nl = System.Environment.NewLine
00:01:43 verbose #6912 > > let q = @""""
00:01:43 verbose #6913 > >
00:01:43 verbose #6914 > > let inline cons head tail = head :: tail
00:01:43 verbose #6915 > >
00:01:43 verbose #6916 > > /// ## memoize
00:01:43 verbose #6917 > > let inline memoize fn =
00:01:43 verbose #6918 > > let result = lazy fn ()
00:01:43 verbose #6919 > > fun () -> result.Value
00:01:43 verbose #6920 > >
00:01:43 verbose #6921 > > /// ## TraceLevel
00:01:43 verbose #6922 > > type TraceLevel =
00:01:43 verbose #6923 > > | Verbose
00:01:43 verbose #6924 > > | Debug
00:01:43 verbose #6925 > > | Info
00:01:43 verbose #6926 > > | Warning
00:01:43 verbose #6927 > > | Critical
00:01:43 verbose #6928 > >
00:01:43 verbose #6929 > > let inline _locals () = ""
00:01:43 verbose #6930 > >
00:01:43 verbose #6931 > > /// ## trace
00:01:43 verbose #6932 > > let to_trace_level = function
00:01:43 verbose #6933 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:01:43 verbose #6934 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:01:43 verbose #6935 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:01:43 verbose #6936 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:01:43 verbose #6937 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:01:43 verbose #6938 > >
00:01:43 verbose #6939 > > let trace level fn locals =
00:01:43 verbose #6940 > > let level = level |> to_trace_level
00:01:43 verbose #6941 > > SpiralTrace.trace level fn locals
00:01:43 verbose #6942 > >
00:01:43 verbose #6943 > >
00:01:43 verbose #6944 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6945 > > #if !INTERACTIVE
00:01:43 verbose #6946 > > namespace Polyglot
00:01:43 verbose #6947 > > #endif
00:01:43 verbose #6948 > >
00:01:43 verbose #6949 > > module CommonFSharp =
00:01:43 verbose #6950 > >
00:01:43 verbose #6951 > > open Common
00:01:43 verbose #6952 > >
00:01:43 verbose #6953 > > /// ## getUnionCaseName
00:01:43 verbose #6954 > > let inline getUnionCaseName<'T> (x: 'T) =
00:01:43 verbose #6955 > > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
00:01:43 verbose #6956 > > | case, _ -> case.Name
00:01:43 verbose #6957 > >
00:01:43 verbose #6958 > >
00:01:43 verbose #6959 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:43 verbose #6960 > > #if !INTERACTIVE
00:01:43 verbose #6961 > > namespace Polyglot
00:01:43 verbose #6962 > > #endif
00:01:43 verbose #6963 > >
00:01:43 verbose #6964 > > module Async =
00:01:43 verbose #6965 > >
00:01:43 verbose #6966 > > #if !INTERACTIVE
00:01:43 verbose #6967 > > open Lib
00:01:43 verbose #6968 > > #endif
00:01:43 verbose #6969 > >
00:01:43 verbose #6970 > > open Common
00:01:43 verbose #6971 > >
00:01:43 verbose #6972 > > /// ## choice
00:01:43 verbose #6973 > > let inline choice asyncs = async {
00:01:43 verbose #6974 > > let e = Event<_> ()
00:01:43 verbose #6975 > > use cts = new System.Threading.CancellationTokenSource ()
00:01:43 verbose #6976 > > let fn =
00:01:43 verbose #6977 > > asyncs
00:01:43 verbose #6978 > > |> Seq.map (fun a -> async {
00:01:43 verbose #6979 > > let! x = a
00:01:43 verbose #6980 > > e.Trigger x
00:01:43 verbose #6981 > > })
00:01:43 verbose #6982 > > |> Async.Parallel
00:01:43 verbose #6983 > > |> Async.Ignore
00:01:43 verbose #6984 > > Async.Start (fn, cts.Token)
00:01:43 verbose #6985 > > let! result = Async.AwaitEvent e.Publish
00:01:43 verbose #6986 > > cts.Cancel ()
00:01:43 verbose #6987 > > return result
00:01:43 verbose #6988 > > }
00:01:43 verbose #6989 > >
00:01:43 verbose #6990 > > /// ## map
00:01:43 verbose #6991 > > let inline map fn a = async {
00:01:43 verbose #6992 > > let! x = a
00:01:43 verbose #6993 > > return fn x
00:01:43 verbose #6994 > > }
00:01:43 verbose #6995 > >
00:01:43 verbose #6996 > > /// ## catch
00:01:43 verbose #6997 > > let inline catch a =
00:01:43 verbose #6998 > > a
00:01:43 verbose #6999 > > |> Async.Catch
00:01:43 verbose #7000 > > |> map (function
00:01:43 verbose #7001 > > | Choice1Of2 result -> Ok result
00:01:43 verbose #7002 > > | Choice2Of2 ex -> Error ex
00:01:43 verbose #7003 > > )
00:01:43 verbose #7004 > >
00:01:43 verbose #7005 > > /// ## runWithTimeoutChoiceAsync
00:01:43 verbose #7006 > > let inline runWithTimeoutChoiceAsync (timeout : int) fn =
00:01:43 verbose #7007 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:01:43 verbose #7008 > >
00:01:43 verbose #7009 > > let timeoutTask = async {
00:01:43 verbose #7010 > > do! Async.Sleep timeout
00:01:43 verbose #7011 > > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals
00:01:43 verbose #7012 > > return None
00:01:43 verbose #7013 > > }
00:01:43 verbose #7014 > >
00:01:43 verbose #7015 > > let task = async {
00:01:43 verbose #7016 > > try
00:01:43 verbose #7017 > > let! result = fn
00:01:43 verbose #7018 > > return Some result
00:01:43 verbose #7019 > > with
00:01:43 verbose #7020 > > | :? System.AggregateException as ex when
00:01:43 verbose #7021 > > ex.InnerExceptions
00:01:43 verbose #7022 > > |> Seq.exists (function :? Sys...
00:01:44 verbose #7023 > >
00:01:44 verbose #7024 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:44 verbose #7025 > > #if !INTERACTIVE
00:01:44 verbose #7026 > > namespace Polyglot
00:01:44 verbose #7027 > > #endif
00:01:44 verbose #7028 > >
00:01:44 verbose #7029 > > module AsyncSeq =
00:01:44 verbose #7030 > >
00:01:44 verbose #7031 > > #if !INTERACTIVE
00:01:44 verbose #7032 > > open Lib
00:01:44 verbose #7033 > > #endif
00:01:44 verbose #7034 > >
00:01:44 verbose #7035 > > open Common
00:01:44 verbose #7036 > >
00:01:44 verbose #7037 > > /// ## subscribeEvent
00:01:44 verbose #7038 > > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
00:01:44 verbose #7039 > > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
00:01:44 verbose #7040 > > 'A>(event.AddHandler, event.RemoveHandler)
00:01:44 verbose #7041 > > System.Reactive.Linq.Observable.Select (observable, fun event -> map
00:01:44 verbose #7042 > > event.EventArgs)
00:01:44 verbose #7043 > > |> FSharp.Control.AsyncSeq.ofObservableBuffered
00:01:44 verbose #7044 > >
00:01:44 verbose #7045 > > /// ## subscribeToken
00:01:44 verbose #7046 > > let subscribeToken (token : System.Threading.CancellationToken) =
00:01:44 verbose #7047 > > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
00:01:44 verbose #7048 > > System.Action tcs.SetResult |> token.Register |> ignore
00:01:44 verbose #7049 > > let start = System.DateTime.Now.Ticks
00:01:44 verbose #7050 > > FSharp.Control.AsyncSeq.unfoldAsync
00:01:44 verbose #7051 > > (fun () -> async {
00:01:44 verbose #7052 > > do! tcs.Task |> Async.AwaitTask
00:01:44 verbose #7053 > > return Some (System.DateTime.Now.Ticks - start, ())
00:01:44 verbose #7054 > > })
00:01:44 verbose #7055 > > ()
00:01:44 verbose #7056 > >
00:01:44 verbose #7057 > >
00:01:44 verbose #7058 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:44 verbose #7059 > > #if !INTERACTIVE
00:01:44 verbose #7060 > > namespace Polyglot
00:01:44 verbose #7061 > > #endif
00:01:44 verbose #7062 > >
00:01:44 verbose #7063 > > module Runtime =
00:01:44 verbose #7064 > >
00:01:44 verbose #7065 > > #if !INTERACTIVE
00:01:44 verbose #7066 > > open Lib
00:01:44 verbose #7067 > > #endif
00:01:44 verbose #7068 > >
00:01:44 verbose #7069 > > open Common
00:01:44 verbose #7070 > >
00:01:44 verbose #7071 > > /// ## parseArgs
00:01:44 verbose #7072 > > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:44 verbose #7073 > > let assemblyName =
00:01:44 verbose #7074 > > System.Reflection.Assembly.GetEntryAssembly().GetName().Name
00:01:44 verbose #7075 > > let errorHandler : Argu.IExiter =
00:01:44 verbose #7076 > > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |>
00:01:44 verbose #7077 > > List.contains assemblyName
00:01:44 verbose #7078 > > then Argu.ExceptionExiter ()
00:01:44 verbose #7079 > > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None |
00:01:44 verbose #7080 > > _ -> Some System.ConsoleColor.Red)
00:01:44 verbose #7081 > >
00:01:44 verbose #7082 > > let parser =
00:01:44 verbose #7083 > > Argu.ArgumentParser.Create<'T> (
00:01:44 verbose #7084 > > programName =
00:01:44 verbose #7085 > > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}",
00:01:44 verbose #7086 > > errorHandler = errorHandler
00:01:44 verbose #7087 > > )
00:01:44 verbose #7088 > >
00:01:44 verbose #7089 > > parser.ParseCommandLine args
00:01:44 verbose #7090 > >
00:01:44 verbose #7091 > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:44 verbose #7092 > > args
00:01:44 verbose #7093 > > |> parseArgs<'T>
00:01:44 verbose #7094 > > |> fun results -> results.GetAllResults ()
00:01:44 verbose #7095 > >
00:01:44 verbose #7096 > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:44 verbose #7097 > > args
00:01:44 verbose #7098 > > |> parseAllArgs<'T>
00:01:44 verbose #7099 > > |> List.groupBy CommonFSharp.getUnionCaseName<'T>
00:01:44 verbose #7100 > > |> Map.ofList
00:01:44 verbose #7101 > >
00:01:44 verbose #7102 > >
00:01:44 verbose #7103 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:01:44 verbose #7104 > > #if !INTERACTIVE
00:01:44 verbose #7105 > > namespace Polyglot
00:01:44 verbose #7106 > > #endif
00:01:44 verbose #7107 > >
00:01:44 verbose #7108 > > module FileSystem =
00:01:44 verbose #7109 > >
00:01:44 verbose #7110 > > #if !INTERACTIVE
00:01:44 verbose #7111 > > open Lib
00:01:44 verbose #7112 > > #endif
00:01:44 verbose #7113 > >
00:01:44 verbose #7114 > > open Common
00:01:44 verbose #7115 > > open SpiralFileSystem.Operators
00:01:44 verbose #7116 > >
00:01:44 verbose #7117 > > /// ## watchDirectory
00:01:44 verbose #7118 > > [[<RequireQualifiedAccess>]]
00:01:44 verbose #7119 > > type FileSystemChangeType =
00:01:44 verbose #7120 > > | Failure
00:01:44 verbose #7121 > > | Changed
00:01:44 verbose #7122 > > | Created
00:01:44 verbose #7123 > > | Deleted
00:01:44 verbose #7124 > > | Renamed
00:01:44 verbose #7125 > >
00:01:44 verbose #7126 > > [[<RequireQualifiedAccess>]]
00:01:44 verbose #7127 > > type FileSystemChange =
00:01:44 verbose #7128 > > | Failure of exn: exn
00:01:44 verbose #7129 > > | Changed of path: string * content: string option
00:01:44 verbose #7130 > > | Created of path: string * content: string option
00:01:44 verbose #7131 > > | Deleted of path: string
00:01:44 verbose #7132 > > | Renamed of oldPath: string * (string * string option)
00:01:44 verbose #7133 > >
00:01:44 verbose #7134 > >
00:01:44 verbose #7135 > > let inline watchDirectoryWithFilter filter shouldReadContent path =
00:01:44 verbose #7136 > > let fullPath = path |> System.IO.Path.GetFullPath
00:01:44 verbose #7137 > > let _locals () = $"filter: {filter} / {_locals ()}"
00:01:44 verbose #7138 > >
00:01:44 verbose #7139 > > let watcher =
00:01:44 verbose #7140 > > new System.IO.FileSystemWatcher (
00:01:44 verbose #7141 > > Path = fullPath,
00:01:44 verbose #7142 > > NotifyFilter = filter,
00:01:44 verbose #7143 > > EnableRaisingEvents = true,
00:01:44 verbose #7144 > > IncludeSubdirectories = true
00:01:44 verbose #7145 > > )
00:01:44 verbose #7146 > >
00:01:44 verbose #7147 > > let inline getEventPath (path : string) =
00:01:44 verbose #7148 > > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |>
00:01:44 verbose #7149 > > SpiralSm.trim_start [[| '/'; '\\' |]]
00:01:44 verbose #7150 > >
00:01:44 verbose #7151 > > let inline ticks () =
00:01:44 verbose #7152 > > System.DateTime.UtcNow.Ticks
00:01:44 verbose #7153 > >
00:01:44 verbose #7154 > > let changedStream =
00:01:44 verbose #7155 > > AsyncSeq.subscribeEvent
00:01:44 verbose #7156 > > watcher.Changed
00:01:44 verbose #7157 > > (fun event ->
00:01:44 verbose #7158 > > ticks (),
00:01:44 verbose #7159 > > [[ FileSystemChange...
00:01:45 verbose #7160 > >
00:01:45 verbose #7161 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7162 > > #if !INTERACTIVE
00:01:45 verbose #7163 > > open Lib
00:01:45 verbose #7164 > > #endif
00:01:45 verbose #7165 > >
00:01:45 verbose #7166 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7167 > > open Common
00:01:45 verbose #7168 > >
00:01:45 verbose #7169 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7170 > > //// test
00:01:45 verbose #7171 > >
00:01:45 verbose #7172 > > open SpiralFileSystem.Operators
00:01:45 verbose #7173 > >
00:01:45 verbose #7174 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:45 verbose #7175 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:45 verbose #7176 > > │ ## parseArgs │
00:01:45 verbose #7177 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:45 verbose #7178 > >
00:01:45 verbose #7179 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7180 > > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:45 verbose #7181 > > let assemblyName =
00:01:45 verbose #7182 > > System.Reflection.Assembly.GetEntryAssembly().GetName().Name
00:01:45 verbose #7183 > > let errorHandler : Argu.IExiter =
00:01:45 verbose #7184 > > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |>
00:01:45 verbose #7185 > > List.contains assemblyName
00:01:45 verbose #7186 > > then Argu.ExceptionExiter ()
00:01:45 verbose #7187 > > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | _ ->
00:01:45 verbose #7188 > > Some System.ConsoleColor.Red)
00:01:45 verbose #7189 > >
00:01:45 verbose #7190 > > let parser =
00:01:45 verbose #7191 > > Argu.ArgumentParser.Create<'T> (
00:01:45 verbose #7192 > > programName = $"{assemblyName}{SpiralRuntime.get_executable_suffix
00:01:45 verbose #7193 > > ()}",
00:01:45 verbose #7194 > > errorHandler = errorHandler
00:01:45 verbose #7195 > > )
00:01:45 verbose #7196 > >
00:01:45 verbose #7197 > > parser.ParseCommandLine args
00:01:45 verbose #7198 > >
00:01:45 verbose #7199 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7200 > > //// test
00:01:45 verbose #7201 > >
00:01:45 verbose #7202 > > [[<RequireQualifiedAccess>]]
00:01:45 verbose #7203 > > type Arguments =
00:01:45 verbose #7204 > > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce;
00:01:45 verbose #7205 > > Argu.ArguAttributes.Last>]]
00:01:45 verbose #7206 > > Paths of paths : string list
00:01:45 verbose #7207 > >
00:01:45 verbose #7208 > > interface Argu.IArgParserTemplate with
00:01:45 verbose #7209 > > member s.Usage =
00:01:45 verbose #7210 > > match s with
00:01:45 verbose #7211 > > | Paths _ -> nameof Paths
00:01:45 verbose #7212 > >
00:01:45 verbose #7213 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7214 > > //// test
00:01:45 verbose #7215 > >
00:01:45 verbose #7216 > > Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
00:01:45 verbose #7217 > >
00:01:45 verbose #7218 > > ╭─[ 93.26ms - return value ]───────────────────────────────────────────────────╮
00:01:45 verbose #7219 > > │ "USAGE: dotnet-repl [--help] <paths>... │
00:01:45 verbose #7220 > > │ │
00:01:45 verbose #7221 > > │ PATHS: │
00:01:45 verbose #7222 > > │ │
00:01:45 verbose #7223 > > │ <paths>... Paths │
00:01:45 verbose #7224 > > │ │
00:01:45 verbose #7225 > > │ OPTIONS: │
00:01:45 verbose #7226 > > │ │
00:01:45 verbose #7227 > > │ --help display this list of options. │
00:01:45 verbose #7228 > > │ " │
00:01:45 verbose #7229 > > │ │
00:01:45 verbose #7230 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:45 verbose #7231 > >
00:01:45 verbose #7232 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7233 > > //// test
00:01:45 verbose #7234 > >
00:01:45 verbose #7235 > > fun () -> parseArgs<Arguments> [[||]] |> ignore
00:01:45 verbose #7236 > > |> _throwsC (fun ex _ ->
00:01:45 verbose #7237 > > SpiralSm.format_exception ex
00:01:45 verbose #7238 > > |> _stringContains "Argu.ArguParseException: ERROR: missing parameter
00:01:45 verbose #7239 > > '<paths>...'."
00:01:45 verbose #7240 > > )
00:01:45 verbose #7241 > >
00:01:45 verbose #7242 > > ╭─[ 41.65ms - stdout ]─────────────────────────────────────────────────────────╮
00:01:45 verbose #7243 > > │ <fun:it@3-3> │
00:01:45 verbose #7244 > > │ │
00:01:45 verbose #7245 > > │ "Argu.ArguParseException: ERROR: missing parameter '<paths>...'. │
00:01:45 verbose #7246 > > │ USAGE: dotnet-repl [--help] <paths>... │
00:01:45 verbose #7247 > > │ │
00:01:45 verbose #7248 > > │ PATHS: │
00:01:45 verbose #7249 > > │ │
00:01:45 verbose #7250 > > │ <paths>... Paths │
00:01:45 verbose #7251 > > │ │
00:01:45 verbose #7252 > > │ OPTIONS: │
00:01:45 verbose #7253 > > │ │
00:01:45 verbose #7254 > > │ --help display this list of options. │
00:01:45 verbose #7255 > > │ " │
00:01:45 verbose #7256 > > │ │
00:01:45 verbose #7257 > > │ │
00:01:45 verbose #7258 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:45 verbose #7259 > >
00:01:45 verbose #7260 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7261 > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:45 verbose #7262 > > args
00:01:45 verbose #7263 > > |> parseArgs<'T>
00:01:45 verbose #7264 > > |> fun results -> results.GetAllResults ()
00:01:45 verbose #7265 > >
00:01:45 verbose #7266 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7267 > > //// test
00:01:45 verbose #7268 > >
00:01:45 verbose #7269 > > [[<RequireQualifiedAccess>]]
00:01:45 verbose #7270 > > type Arguments =
00:01:45 verbose #7271 > > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce;
00:01:45 verbose #7272 > > Argu.ArguAttributes.Last>]]
00:01:45 verbose #7273 > > Paths of paths : string list
00:01:45 verbose #7274 > >
00:01:45 verbose #7275 > > interface Argu.IArgParserTemplate with
00:01:45 verbose #7276 > > member s.Usage =
00:01:45 verbose #7277 > > match s with
00:01:45 verbose #7278 > > | Paths _ -> nameof Paths
00:01:45 verbose #7279 > >
00:01:45 verbose #7280 > > parseAllArgs<Arguments> [[| "a b"; "c" |]]
00:01:45 verbose #7281 > > |> _assertEqual [[ Arguments.Paths [[ "a b"; "c" ]] ]]
00:01:45 verbose #7282 > >
00:01:45 verbose #7283 > > ╭─[ 76.04ms - stdout ]─────────────────────────────────────────────────────────╮
00:01:45 verbose #7284 > > │ [Paths ["a b"; "c"]] │
00:01:45 verbose #7285 > > │ │
00:01:45 verbose #7286 > > │ │
00:01:45 verbose #7287 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:45 verbose #7288 > >
00:01:45 verbose #7289 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7290 > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =
00:01:45 verbose #7291 > > args
00:01:45 verbose #7292 > > |> parseAllArgs<'T>
00:01:45 verbose #7293 > > |> List.groupBy CommonFSharp.getUnionCaseName<'T>
00:01:45 verbose #7294 > > |> Map.ofList
00:01:45 verbose #7295 > >
00:01:45 verbose #7296 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:45 verbose #7297 > > //// test
00:01:45 verbose #7298 > >
00:01:45 verbose #7299 > > parseArgsMap<Arguments> [[| "a b"; "c" |]]
00:01:45 verbose #7300 > > |> _assertEqual (
00:01:45 verbose #7301 > > [[ nameof Arguments.Paths, [[ Arguments.Paths [[ "a b"; "c" ]] ]] ]]
00:01:45 verbose #7302 > > |> Map.ofList
00:01:45 verbose #7303 > > )
00:01:45 verbose #7304 > >
00:01:45 verbose #7305 > > ╭─[ 37.06ms - stdout ]─────────────────────────────────────────────────────────╮
00:01:45 verbose #7306 > > │ map [("Paths", [Paths ["a b"; "c"]])] │
00:01:45 verbose #7307 > > │ │
00:01:45 verbose #7308 > > │ │
00:01:45 verbose #7309 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:45 verbose #7310 > 00:00:13 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 33533
00:01:45 verbose #7311 > 00:00:13 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:46 verbose #7312 > 00:00:13 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb to html
00:01:46 verbose #7313 > 00:00:13 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:46 verbose #7314 > 00:00:13 verbose #7 ! validate(nb)
00:01:46 verbose #7315 > 00:00:14 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:46 verbose #7316 > 00:00:14 verbose #9 ! return _pygments_highlight(
00:01:46 verbose #7317 > 00:00:14 verbose #10 ! [NbConvertApp] Writing 292913 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.html
00:01:46 verbose #7318 > 00:00:14 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 898
00:01:46 verbose #7319 > 00:00:14 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 898
00:01:46 verbose #7320 > 00:00:14 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:47 verbose #7321 > 00:00:14 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:47 verbose #7322 > 00:00:14 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:47 verbose #7323 > 00:00:14 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 34490
00:01:47 debug #7324 execute_with_options_async / exit_code: 0 / output.Length: 38898
00:01:47 debug #8 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Runtime.dib --retries 3
00:01:47 verbose #29 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:01:47 verbose #30 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 writeDibCode / output: Fs / path: Common.dib
00:00:00 debug #1 writeDibCode / output: Fs / path: AsyncSeq.dib
00:00:00 debug #1 writeDibCode / output: Fs / path: CommonFSharp.dib
00:00:00 debug #1 writeDibCode / output: Fs / path: Async.dib
00:00:00 debug #4 parseDibCode / output: Fs / file: CommonFSharp.dib
00:00:00 debug #5 parseDibCode / output: Fs / file: Async.dib
00:00:00 debug #3 parseDibCode / output: Fs / file: Common.dib
00:00:00 debug #3 parseDibCode / output: Fs / file: AsyncSeq.dib
00:00:00 debug #7 writeDibCode / output: Fs / path: FileSystem.dib
00:00:00 debug #7 writeDibCode / output: Fs / path: Runtime.dib
00:00:00 debug #8 parseDibCode / output: Fs / file: FileSystem.dib
00:00:00 debug #9 parseDibCode / output: Fs / file: Runtime.dib
In [ ]:
{ pwsh ../lib/math/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path math.dib --retries 5",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "math.dib", "--retries", "5"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/math/math.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/math/math.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:02 verbose #10 > >
00:00:02 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #13 > > │ # math │
00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #15 > >
00:00:02 verbose #16 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:02 verbose #17 > > open testing
00:00:02 verbose #18 > > open rust_operators
00:00:02 verbose #19 > >
00:00:02 verbose #20 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:00:02 verbose #21 > > #r
00:00:02 verbose #22 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #23 > > Net.Interactive.Spiral.dll"
00:00:02 verbose #24 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:00:02 verbose #25 > > #r
00:00:02 verbose #26 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #27 > > Net.Interactive.dll"
00:00:02 verbose #28 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:05 verbose #29 > 00:00:05 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dbfb98f86b21deb6b35fe3a80945f9312d296d3871cb8776c774b57d259aaabf/main.spi
00:00:08 verbose #30 > >
00:00:08 verbose #31 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #32 > > inl types () =
00:00:08 verbose #33 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #34 > > Fable.Core.Emit(\"num_complex::Complex<$0>\")>]]\n#endif\ntype
00:00:08 verbose #35 > > num_complex_Complex<'T> = class end"
00:00:08 verbose #36 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #37 > > Fable.Core.Emit(\"pyo3::types::PyModule\")>]]\n#endif\ntype pyo3_types_PyModule
00:00:08 verbose #38 > > = class end"
00:00:08 verbose #39 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #40 > > Fable.Core.Emit(\"pyo3::Bound<$0>\")>]]\n#endif\ntype pyo3_Bound<'T> = class
00:00:08 verbose #41 > > end"
00:00:08 verbose #42 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #43 > > Fable.Core.Emit(\"pyo3::Python\")>]]\n#endif\ntype pyo3_Python = class end"
00:00:08 verbose #44 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #45 > > Fable.Core.Emit(\"pyo3::PyAny\")>]]\n#endif\ntype pyo3_PyAny = class end"
00:00:08 verbose #46 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #47 > > Fable.Core.Emit(\"pyo3::PyErr\")>]]\n#endif\ntype pyo3_PyErr = class end"
00:00:08 verbose #48 > 00:00:07 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c1fbc243bf63cd527fa5f829e76da9bb4a9da0343e5ccc44c9fa851531606830/main.spi
00:00:08 verbose #49 > >
00:00:08 verbose #50 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #51 > > inl types () =
00:00:08 verbose #52 > > rust.types ()
00:00:08 verbose #53 > > sm'.types ()
00:00:08 verbose #54 > > types ()
00:00:08 verbose #55 > 00:00:07 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/da6ed65e06f442a9a2e9bc9e19434682263e6d6106df88ec4427767e68387568/main.spi
00:00:08 verbose #56 > >
00:00:08 verbose #57 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #58 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #59 > > │ ## complex │
00:00:08 verbose #60 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #61 > >
00:00:08 verbose #62 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #63 > > nominal complex t = $"num_complex_Complex<`t>"
00:00:08 verbose #64 > > nominal bound t = $"pyo3_Bound<`t>"
00:00:08 verbose #65 > > nominal python = $"pyo3_Python"
00:00:08 verbose #66 > > nominal pymodule = $"pyo3_types_PyModule"
00:00:08 verbose #67 > > nominal pyany = $"pyo3_PyAny"
00:00:08 verbose #68 > > nominal pyerr = $"pyo3_PyErr"
00:00:08 verbose #69 > >
00:00:08 verbose #70 > > inl complex forall t. ((re : t), (im : t)) : complex t =
00:00:08 verbose #71 > > !\\((re, im), $'"num_complex::Complex::new($0, $1)"')
00:00:08 verbose #72 > 00:00:07 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b5c14b4fc8504cc4dfc131b42a5df0c412b79aa6233c8f2b3d22d614a7914757/main.spi
00:00:08 verbose #73 > >
00:00:08 verbose #74 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #75 > > //// test
00:00:08 verbose #76 > > ///! rust -d num-complex
00:00:08 verbose #77 > >
00:00:08 verbose #78 > > types ()
00:00:08 verbose #79 > >
00:00:08 verbose #80 > > complex (0f64, 0f64)
00:00:08 verbose #81 > > |> sm'.format'
00:00:08 verbose #82 > > |> sm'.from_std_string
00:00:08 verbose #83 > > |> _assert_eq "0+0i"
00:00:08 verbose #84 > 00:00:08 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/45ad5a66f2f47eb85e79b5917622d9962e9afa30064860690e20a9f9f8d80fa7/main.spi
00:00:23 verbose #85 > >
00:00:23 verbose #86 > > ╭─[ 15.15s - return value ]────────────────────────────────────────────────────╮
00:00:23 verbose #87 > > │ assert_eq / actual: "0+0i" / expected: "0+0i" │
00:00:23 verbose #88 > > │ │
00:00:23 verbose #89 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 verbose #90 > >
00:00:23 verbose #91 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:23 verbose #92 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:23 verbose #93 > > │ ## complex_sin │
00:00:23 verbose #94 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 verbose #95 > >
00:00:23 verbose #96 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 verbose #97 > > inl re forall t. (c : complex t) : t =
00:00:23 verbose #98 > > inl c = join c
00:00:23 verbose #99 > > !\($'"!c.re"')
00:00:23 verbose #100 > >
00:00:23 verbose #101 > > inl im forall t. (c : complex t) : t =
00:00:23 verbose #102 > > inl c = join c
00:00:23 verbose #103 > > !\($'"!c.im"')
00:00:23 verbose #104 > >
00:00:23 verbose #105 > > inl complex_unbox forall t. (c : complex t) =
00:00:23 verbose #106 > > re c, im c
00:00:23 verbose #107 > >
00:00:23 verbose #108 > > inl (~.^) c = complex c
00:00:23 verbose #109 > >
00:00:23 verbose #110 > > inl complex_eq forall t. (a : complex t) (b : complex t) : bool =
00:00:23 verbose #111 > > !\($'"!a == !b"')
00:00:23 verbose #112 > >
00:00:23 verbose #113 > > inl (.=) a b = complex_eq a b
00:00:23 verbose #114 > >
00:00:23 verbose #115 > > instance equable complex t = complex_eq
00:00:23 verbose #116 > >
00:00:23 verbose #117 > > inl complex_add forall t. (a : complex t) (b : complex t) : complex t =
00:00:23 verbose #118 > > !\($'"!a + !b"')
00:00:23 verbose #119 > >
00:00:23 verbose #120 > > inl (.+) a b = complex_add a b
00:00:23 verbose #121 > >
00:00:23 verbose #122 > > inl complex_sub forall t. (a : complex t) (b : complex t) : complex t =
00:00:23 verbose #123 > > !\\((a, b), $'"$0 - $1"')
00:00:23 verbose #124 > >
00:00:23 verbose #125 > > inl (.-) a b = complex_sub a b
00:00:23 verbose #126 > >
00:00:23 verbose #127 > > inl complex_mult forall t. (a : complex t) (b : complex t) : complex t =
00:00:23 verbose #128 > > !\\((a, b), $'"$0 * $1"')
00:00:23 verbose #129 > >
00:00:23 verbose #130 > > inl (.*) a b = complex_mult a b
00:00:23 verbose #131 > >
00:00:23 verbose #132 > > inl complex_div forall t. (a : complex t) (b : complex t) : complex t =
00:00:23 verbose #133 > > !\($'"!a / !b"')
00:00:23 verbose #134 > >
00:00:23 verbose #135 > > inl (./) a b = complex_div a b
00:00:23 verbose #136 > >
00:00:23 verbose #137 > > inl powc forall t. (s : complex t) (c : complex t) : complex t =
00:00:23 verbose #138 > > inl c = join c
00:00:23 verbose #139 > > inl s = join s
00:00:23 verbose #140 > > !\($'"num_complex::Complex::powc(!c, !s)"')
00:00:23 verbose #141 > >
00:00:23 verbose #142 > > inl (.**) a b = powc b a
00:00:23 verbose #143 > >
00:00:23 verbose #144 > > inl complex_sin forall t. (c : complex t) : complex t =
00:00:23 verbose #145 > > !\($'"!c.sin()"')
00:00:23 verbose #146 > >
00:00:23 verbose #147 > > inl conj forall t. (c : complex t) : complex t =
00:00:23 verbose #148 > > !\($'"!c.conj()"')
00:00:23 verbose #149 > 00:00:23 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/163ed886575af78677cf976a9739a06d954e3fbf776eeb5634b948f6f575898f/main.spi
00:00:23 verbose #150 > >
00:00:23 verbose #151 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:23 verbose #152 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:23 verbose #153 > > │ ## zeta │
00:00:23 verbose #154 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:23 verbose #155 > >
00:00:23 verbose #156 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:23 verbose #157 > > inl zeta log (gamma : complex f64 -> complex f64) (s : complex f64) : complex
00:00:23 verbose #158 > > f64 =
00:00:23 verbose #159 > > inl rec zeta count gamma s =
00:00:23 verbose #160 > > if log then
00:00:23 verbose #161 > > !\\(s, $'"println\!(\\\"zeta / count: {:?} / s: {:?}\\\", !count,
00:00:23 verbose #162 > > $0)"')
00:00:23 verbose #163 > > if re s > 1 then
00:00:23 verbose #164 > > (.^(0, 0), (am.init 10000i32 id : a i32 _))
00:00:23 verbose #165 > > ||> am.fold fun acc n =>
00:00:23 verbose #166 > > acc .+ (.^(1, 0) ./ (.^(f64 n, 0) .** s))
00:00:23 verbose #167 > > else
00:00:23 verbose #168 > > inl gamma_term = gamma (.^(1, 0) .- s)
00:00:23 verbose #169 > > inl sin_term = .^(pi, 0) .* s ./ .^(2, 0) |> complex_sin
00:00:23 verbose #170 > > inl one_minus_s = .^(1 - re s, -(im s))
00:00:23 verbose #171 > > inl mirror_term =
00:00:23 verbose #172 > > if re one_minus_s <= 1
00:00:23 verbose #173 > > then .^(0, 0)
00:00:23 verbose #174 > > else
00:00:23 verbose #175 > > if count <= 3
00:00:23 verbose #176 > > then zeta (count + 1) gamma one_minus_s
00:00:23 verbose #177 > > else one_minus_s
00:00:23 verbose #178 > > inl reflection_formula =
00:00:23 verbose #179 > > .^(2, 0) .* (.^(pi, 0) .** s) .* sin_term .* gamma_term .*
00:00:23 verbose #180 > > mirror_term
00:00:23 verbose #181 > > reflection_formula
00:00:23 verbose #182 > > join zeta 0i32 gamma s
00:00:23 verbose #183 > 00:00:23 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fcd64f53809582fde58e0c758b849ad20c46130d28e651e48aab74ecf5fd051b/main.spi
00:00:24 verbose #184 > >
00:00:24 verbose #185 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 verbose #186 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 verbose #187 > > │ ## eval │
00:00:24 verbose #188 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #189 > >
00:00:24 verbose #190 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 verbose #191 > > inl module_from_code (py : python) (code : string) : _ (bound pymodule) _ =
00:00:24 verbose #192 > > inl py = join py
00:00:24 verbose #193 > > inl code = code |> sm'.as_str
00:00:24 verbose #194 > > !\($'"pyo3::types::PyModule::from_code_bound(!py, !code, \\"\\", \\"\\")"')
00:00:24 verbose #195 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format'
00:00:24 verbose #196 > >
00:00:24 verbose #197 > > inl use_pyanymethods () =
00:00:24 verbose #198 > > global "Fable.Core.RustInterop.emitRustExpr () \");\nuse
00:00:24 verbose #199 > > pyo3::prelude::PyAnyMethods;\n//\""
00:00:24 verbose #200 > >
00:00:24 verbose #201 > > inl getattr (attr : string) (module : bound pymodule) : _ (bound pyany) _ =
00:00:24 verbose #202 > > inl attr = join attr
00:00:24 verbose #203 > > inl attr = attr |> sm'.as_str
00:00:24 verbose #204 > > inl module = join module
00:00:24 verbose #205 > > use_pyanymethods ()
00:00:24 verbose #206 > > !\($'"!module.getattr(!attr)"')
00:00:24 verbose #207 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format'
00:00:24 verbose #208 > >
00:00:24 verbose #209 > > inl call forall t. (args : t) (module : bound pyany) : _ (bound pyany) _ =
00:00:24 verbose #210 > > inl args = join args
00:00:24 verbose #211 > > inl module = join module
00:00:24 verbose #212 > > !\($'"pyo3::prelude::PyAnyMethods::call(&!module, ((*!args).0, *(*!args).1),
00:00:24 verbose #213 > > None)"')
00:00:24 verbose #214 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format'
00:00:24 verbose #215 > >
00:00:24 verbose #216 > > inl extract forall t. (result : bound pyany) : _ t _ =
00:00:24 verbose #217 > > inl result = join result
00:00:24 verbose #218 > > use_pyanymethods ()
00:00:24 verbose #219 > > !\($'"!result.extract()"')
00:00:24 verbose #220 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format'
00:00:24 verbose #221 > >
00:00:24 verbose #222 > > inl eval py code (args : pair bool (pair f64 f64)) : _ (_ f64) sm'.std_string =
00:00:24 verbose #223 > > inl code =
00:00:24 verbose #224 > > code
00:00:24 verbose #225 > > |> module_from_code py
00:00:24 verbose #226 > > |> resultm.unwrap'
00:00:24 verbose #227 > > inl fn =
00:00:24 verbose #228 > > code
00:00:24 verbose #229 > > |> getattr "fn"
00:00:24 verbose #230 > > |> resultm.unwrap'
00:00:24 verbose #231 > >
00:00:24 verbose #232 > > fn
00:00:24 verbose #233 > > |> call args
00:00:24 verbose #234 > > |> resultm.try'
00:00:24 verbose #235 > > |> extract
00:00:24 verbose #236 > > |> resultm.try'
00:00:24 verbose #237 > > |> complex
00:00:24 verbose #238 > > |> Ok
00:00:24 verbose #239 > > |> resultm.box
00:00:24 verbose #240 > >
00:00:24 verbose #241 > > inl call1_ log py s code =
00:00:24 verbose #242 > > inl code = join (a code : _ i32 _) |> sm'.concat_array_trailing "\n"
00:00:24 verbose #243 > >
00:00:24 verbose #244 > > inl s = new_pair (re s) (im s)
00:00:24 verbose #245 > > inl args = new_pair log s
00:00:24 verbose #246 > >
00:00:24 verbose #247 > > eval py code args
00:00:24 verbose #248 > >
00:00:24 verbose #249 > > inl call1_ log name py s line =
00:00:24 verbose #250 > > inl s = join s
00:00:24 verbose #251 > > join
00:00:24 verbose #252 > > ;[[
00:00:24 verbose #253 > > $'$"import sys"'
00:00:24 verbose #254 > > $'$"import traceback"'
00:00:24 verbose #255 > > $'$"import re"'
00:00:24 verbose #256 > > $'$"count = 0"'
00:00:24 verbose #257 > > $'$"memory_address_pattern = re.compile(r\' at 0x[[0-9a-fA-F]]+\')"'
00:00:24 verbose #258 > > $'$"def trace_calls(frame, event, arg):"'
00:00:24 verbose #259 > > $'$" global count"'
00:00:24 verbose #260 > > $'$" count += 1"'
00:00:24 verbose #261 > > $'$" if count < 200:"'
00:00:24 verbose #262 > > $'$" try:"'
00:00:24 verbose #263 > > $'$" args = {{ k: v for k, v in frame.f_locals.items() if
00:00:24 verbose #264 > > frame.f_code.co_name \!= \'make_mpc\' and k not in [[\'ctx\']] and not
00:00:24 verbose #265 > > callable(v) }}"'
00:00:24 verbose #266 > > $'$" args_str = \', \'.join([[
00:00:24 verbose #267 > > f\\\"{{k}}={{re.sub(memory_address_pattern, \' at 0x<?>\', repr(v))}}\\\" for k,
00:00:24 verbose #268 > > v in args.items() ]])"'
00:00:24 verbose #269 > > $'$" print(f\\\"{{event}}({!name}) / f_code.co_name:
00:00:24 verbose #270 > > {{frame.f_code.co_name}} / f_locals: {{args_str}} / f_lineno: {{frame.f_lineno}}
00:00:24 verbose #271 > > / f_code.co_filename:
00:00:24 verbose #272 > > {{frame.f_code.co_filename.split(\'site-packages\')[[-1]]}} / f_back.f_lineno:
00:00:24 verbose #273 > > {{ \'\' if frame.f_back is None else frame.f_back.f_lineno }}
00:00:24 verbose #274 > > f_back.f_code.co_filename: {{ \'\' if frame.f_back is None else
00:00:24 verbose #275 > > frame.f_back.f_code.co_filename.split(\'site-packages\')[[-1]] }} / arg:
00:00:24 verbose #276 > > {{re.sub(memory_address_pattern, \' at 0x<?>\', repr(arg))}}\\\", flush=True)"'
00:00:24 verbose #277 > > $'$" except ValueError as e:"'
00:00:24 verbose #278 > > $'$" print(f\'{!name} / e: {{e}}\', flush=True)"'
00:00:24 verbose #279 > > $'$" return trace_calls"'
00:00:24 verbose #280 > > $'$"import mpmath"'
00:00:24 verbose #281 > > $'$"def fn(log, s):"'
00:00:24 verbose #282 > > $'$" global count"'
00:00:24 verbose #283 > > $'$" if log:"'
00:00:24 verbose #284 > > $'$" print(f\'{!name} / s: {{s}} / count: {{count}}\',
00:00:24 verbose #285 > > flush=True)"'
00:00:24 verbose #286 > > $'$" s = complex(*s)"'
00:00:24 verbose #287 > > $'$" try:"'
00:00:24 verbose #288 > > $'$" if log: sys.settrace(trace_calls)"'
00:00:24 verbose #289 > > line
00:00:24 verbose #290 > > $'$" if log:"'
00:00:24 verbose #291 > > $'$" sys.settrace(None)"'
00:00:24 verbose #292 > > $'$" print(f\'{!name} / result: {{s}} / count:
00:00:24 verbose #293 > > {{count}}\', flush=True)"'
00:00:24 verbose #294 > > $'$" except ValueError as e:"'
00:00:24 verbose #295 > > $'$" if s.real == 1:"'
00:00:24 verbose #296 > > $'$" s = complex(float(\'inf\'), 0)"'
00:00:24 verbose #297 > > $'$" return (s.real, s.imag)"'
00:00:24 verbose #298 > > ]]
00:00:24 verbose #299 > > |> call1_ log py s
00:00:24 verbose #300 > >
00:00:24 verbose #301 > > inl gamma_ log py s =
00:00:24 verbose #302 > > call1_ log "gamma_" py s $'$" s = mpmath.gamma(s)"'
00:00:24 verbose #303 > >
00:00:24 verbose #304 > > inl zeta_ log py s =
00:00:24 verbose #305 > > call1_ log "zeta_" py s $'$" s = mpmath.zeta(s)"'
00:00:24 verbose #306 > 00:00:23 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/26f0560f2cf6e4a1faa3999aabe8d1ea0a66e42eff1c3389d682eff0072c6078/main.spi
00:00:24 verbose #307 > >
00:00:24 verbose #308 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 verbose #309 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 verbose #310 > > │ ## run_test │
00:00:24 verbose #311 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #312 > >
00:00:24 verbose #313 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 verbose #314 > > inl run_test log closure_fix (fn : (complex f64 -> complex f64) * (complex f64
00:00:24 verbose #315 > > -> complex f64) -> ()) =
00:00:24 verbose #316 > > inl fn_ (py : python) : resultm.result' () pyerr =
00:00:24 verbose #317 > > inl nan () =
00:00:24 verbose #318 > > !\($'"f64::NAN"')
00:00:24 verbose #319 > > inl gamma__ = fun (s : complex f64) =>
00:00:24 verbose #320 > > inl result = gamma_ log py s
00:00:24 verbose #321 > > if log then
00:00:24 verbose #322 > > inl s = join s
00:00:24 verbose #323 > > !\($'"println\!(\\\"gamma__ / s: {:?} / result: {:?}\\\", !s,
00:00:24 verbose #324 > > !result)"')
00:00:24 verbose #325 > > result |> resultm.ok' |> optionm'.unbox |> optionm'.default_value
00:00:24 verbose #326 > > .^(nan (), nan ())
00:00:24 verbose #327 > > inl zeta__ = fun (s : complex f64) =>
00:00:24 verbose #328 > > inl result = zeta_ log py s
00:00:24 verbose #329 > >
00:00:24 verbose #330 > > inl z = zeta true gamma__ s
00:00:24 verbose #331 > >
00:00:24 verbose #332 > > if log then
00:00:24 verbose #333 > > inl s = join s
00:00:24 verbose #334 > > !\($'"println\!(\\\"zeta__ / s: {:?} / result: {:?} / z:
00:00:24 verbose #335 > > {:?}\\\", !s, !result, !z)"')
00:00:24 verbose #336 > >
00:00:24 verbose #337 > > // re result - re x |> abs
00:00:24 verbose #338 > > // |> _assert_lt 0.001
00:00:24 verbose #339 > >
00:00:24 verbose #340 > > // im result - im x |> abs
00:00:24 verbose #341 > > // |> _assert_lt 0.001
00:00:24 verbose #342 > >
00:00:24 verbose #343 > > result |> resultm.ok' |> optionm'.unbox |> optionm'.default_value
00:00:24 verbose #344 > > .^(nan (), nan ())
00:00:24 verbose #345 > > join fn (zeta__, gamma__)
00:00:24 verbose #346 > >
00:00:24 verbose #347 > > Ok ()
00:00:24 verbose #348 > > |> resultm.box
00:00:24 verbose #349 > >
00:00:24 verbose #350 > > join
00:00:24 verbose #351 > > !\($'"pyo3::prepare_freethreaded_python()"') : ()
00:00:24 verbose #352 > >
00:00:24 verbose #353 > > !\($'"let __result = pyo3::Python::with_gil(|py| -> pyo3::PyResult<()> {
00:00:24 verbose #354 > > //"')
00:00:24 verbose #355 > >
00:00:24 verbose #356 > > let x' = fn_ (!\($'"py"') : python)
00:00:24 verbose #357 > > inl x' = join x'
00:00:24 verbose #358 > >
00:00:24 verbose #359 > > inl closure_fix = 2u8, 1u8
00:00:24 verbose #360 > > x' |> rust.fix_closure closure_fix
00:00:24 verbose #361 > >
00:00:24 verbose #362 > > (!\($'"__result"') : _ () pyerr)
00:00:24 verbose #363 > > |> resultm.unwrap'
00:00:24 verbose #364 > 00:00:23 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/284f085cb7aea8b9954296378fc00bc7028f634672d880bae11641944ab2a848/main.spi
00:00:24 verbose #365 > >
00:00:24 verbose #366 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 verbose #367 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 verbose #368 > > │ ## test_zeta_at_known_values_ │
00:00:24 verbose #369 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #370 > >
00:00:24 verbose #371 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 verbose #372 > > inl test_zeta_at_known_values_ log = run_test log (3u8, 2u8) fun zeta, gamma =>
00:00:24 verbose #373 > > ;[[
00:00:24 verbose #374 > > .^(2, 0), pi ** 2 / 6
00:00:24 verbose #375 > > .^(-1, 0), -1 / 12
00:00:24 verbose #376 > > ]]
00:00:24 verbose #377 > > |> fun x => a x : _ i32 _
00:00:24 verbose #378 > > |> am.iter fun s, e =>
00:00:24 verbose #379 > > inl result = zeta s
00:00:24 verbose #380 > >
00:00:24 verbose #381 > > result |> im |> _assert_eq 0
00:00:24 verbose #382 > > re result - e |> abs |> _assert_lt 0.0001
00:00:24 verbose #383 > 00:00:23 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bd2ab406d824c0ff054a0841d5ea062e308ee3b417d552936adca8c60807b64b/main.spi
00:00:24 verbose #384 > >
00:00:24 verbose #385 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:24 verbose #386 > > //// test
00:00:24 verbose #387 > > ///! rust -d num-complex pyo3
00:00:24 verbose #388 > >
00:00:24 verbose #389 > > types ()
00:00:24 verbose #390 > > test_zeta_at_known_values_ true
00:00:24 verbose #391 > 00:00:24 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2d7799f1bb561de6661b1febc5aafef998878f1648b71d481b487dddfc00d45/main.spi
00:00:45 verbose #392 > >
00:00:45 verbose #393 > > ╭─[ 21.37s - return value ]────────────────────────────────────────────────────╮
00:00:45 verbose #394 > > │ zeta_ / s: (2.0, 0.0) / count: 0 │
00:00:45 verbose #395 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:00:45 verbose #396 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:00:45 verbose #397 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:45 verbose #398 > > │ / arg: None │
00:00:45 verbose #399 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:00:45 verbose #400 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:00:45 verbose #401 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:45 verbose #402 > > │ / arg: None │
00:00:45 verbose #403 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:00:45 verbose #404 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:00:45 verbose #405 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:45 verbose #406 > > │ / arg: None │
00:00:45 verbose #407 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:00:45 verbose #408 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:00:45 verbose #409 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:45 verbose #410 > > │ / arg: None │
00:00:45 verbose #411 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:00:45 verbose #412 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:00:45 verbose #413 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:45 verbose #414 > > │ / arg: None │
00:00:45 verbose #415 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │
00:00:45 verbose #416 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:00:45 verbose #417 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:00:45 verbose #418 > > │ / arg: None │
00:00:45 verbose #419 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │
00:00:45 verbose #420 > > │ / f_lineno... │
00:00:45 verbose #421 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:45 verbose #422 > >
00:00:45 verbose #423 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:45 verbose #424 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:45 verbose #425 > > │ ## test_zeta_at_2_minus2 │
00:00:45 verbose #426 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:45 verbose #427 > >
00:00:45 verbose #428 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:45 verbose #429 > > inl test_zeta_at_2_minus2 log = run_test log (6u8, 5u8) fun zeta, gamma =>
00:00:45 verbose #430 > > inl s = .^(2, -2)
00:00:45 verbose #431 > > inl result = zeta s
00:00:45 verbose #432 > >
00:00:45 verbose #433 > > (re result - 0.8673) |> abs |> _assert_lt 0.001
00:00:45 verbose #434 > > (im result - 0.2750) |> abs |> _assert_lt 0.001
00:00:45 verbose #435 > 00:00:45 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5663ef4402a72d0e6453db33902add7bed1a21753e9f0bd97caf8f8dd12fc968/main.spi
00:00:46 verbose #436 > >
00:00:46 verbose #437 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:46 verbose #438 > > //// test
00:00:46 verbose #439 > > ///! rust -d num-complex pyo3
00:00:46 verbose #440 > >
00:00:46 verbose #441 > > types ()
00:00:46 verbose #442 > > test_zeta_at_2_minus2 true
00:00:46 verbose #443 > 00:00:45 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/09ab2f4d1d39623d7f883cb25b48e05b367fb64c7e05ded393f176e66ab2f908/main.spi
00:00:58 verbose #444 > >
00:00:58 verbose #445 > > ╭─[ 11.97s - return value ]────────────────────────────────────────────────────╮
00:00:58 verbose #446 > > │ zeta_ / s: (2.0, -2.0) / count: 0 │
00:00:58 verbose #447 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │
00:00:58 verbose #448 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:00:58 verbose #449 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:58 verbose #450 > > │ / arg: None │
00:00:58 verbose #451 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │
00:00:58 verbose #452 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:00:58 verbose #453 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:58 verbose #454 > > │ / arg: None │
00:00:58 verbose #455 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │
00:00:58 verbose #456 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:00:58 verbose #457 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:58 verbose #458 > > │ / arg: None │
00:00:58 verbose #459 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │
00:00:58 verbose #460 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:00:58 verbose #461 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:58 verbose #462 > > │ / arg: None │
00:00:58 verbose #463 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │
00:00:58 verbose #464 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:00:58 verbose #465 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:00:58 verbose #466 > > │ / arg: None │
00:00:58 verbose #467 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2-2j), kwargs={}, name='zeta' │
00:00:58 verbose #468 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:00:58 verbose #469 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:00:58 verbose #470 > > │ / arg: None │
00:00:58 verbose #471 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2-2j), kwargs={}, name='zeta' │
00:00:58 verbose #472 > > │ / f_linen... │
00:00:58 verbose #473 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:58 verbose #474 > >
00:00:58 verbose #475 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:58 verbose #476 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:58 verbose #477 > > │ ## test_trivial_zero_at_negative_even___ │
00:00:58 verbose #478 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:58 verbose #479 > >
00:00:58 verbose #480 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:58 verbose #481 > > inl test_trivial_zero_at_negative_even___ log = run_test log (2u8, 1u8) fun
00:00:58 verbose #482 > > zeta, gamma =>
00:00:58 verbose #483 > > (join listm'.init_series -2f64 -40 -2)
00:00:58 verbose #484 > > |> listm.iter fun n =>
00:00:58 verbose #485 > > inl s = .^(n, 0)
00:00:58 verbose #486 > > inl result = zeta s
00:00:58 verbose #487 > >
00:00:58 verbose #488 > > result |> re |> _assert_eq 0
00:00:58 verbose #489 > > result |> im |> _assert_eq 0
00:00:58 verbose #490 > 00:00:57 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/907a08ebaf4537ea87da79e99227cf876651b41fd8d936bee5c70b63f5f1e9ec/main.spi
00:00:58 verbose #491 > >
00:00:58 verbose #492 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:58 verbose #493 > > //// test
00:00:58 verbose #494 > > ///! rust -d num-complex pyo3
00:00:58 verbose #495 > >
00:00:58 verbose #496 > > types ()
00:00:58 verbose #497 > > test_trivial_zero_at_negative_even___ true
00:00:58 verbose #498 > 00:00:57 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d32cea55fe7184936aa986b0d830631d3a47fd8631428b71eac70b4c542d6d1c/main.spi
00:01:10 verbose #499 > >
00:01:10 verbose #500 > > ╭─[ 12.50s - return value ]────────────────────────────────────────────────────╮
00:01:10 verbose #501 > > │ zeta_ / s: (-2.0, 0.0) / count: 0 │
00:01:10 verbose #502 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │
00:01:10 verbose #503 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:01:10 verbose #504 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:10 verbose #505 > > │ / arg: None │
00:01:10 verbose #506 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │
00:01:10 verbose #507 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:01:10 verbose #508 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:10 verbose #509 > > │ / arg: None │
00:01:10 verbose #510 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │
00:01:10 verbose #511 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:01:10 verbose #512 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:10 verbose #513 > > │ / arg: None │
00:01:10 verbose #514 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │
00:01:10 verbose #515 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:01:10 verbose #516 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:10 verbose #517 > > │ / arg: None │
00:01:10 verbose #518 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │
00:01:10 verbose #519 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:01:10 verbose #520 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:10 verbose #521 > > │ / arg: None │
00:01:10 verbose #522 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(-2+0j), kwargs={}, │
00:01:10 verbose #523 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:01:10 verbose #524 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:01:10 verbose #525 > > │ / arg: None │
00:01:10 verbose #526 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(-2+0j), kwargs={}, │
00:01:10 verbose #527 > > │ name='zeta' / ... │
00:01:10 verbose #528 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:10 verbose #529 > >
00:01:10 verbose #530 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:10 verbose #531 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:10 verbose #532 > > │ ## test_non_trivial_zero___ │
00:01:10 verbose #533 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:10 verbose #534 > >
00:01:10 verbose #535 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:10 verbose #536 > > inl test_non_trivial_zero___ log = run_test log (3u8, 2u8) fun zeta, gamma =>
00:01:10 verbose #537 > > ;[[
00:01:10 verbose #538 > > .^(0.5, 14.134725)
00:01:10 verbose #539 > > .^(0.5, 21.022040)
00:01:10 verbose #540 > > .^(0.5, 25.010857)
00:01:10 verbose #541 > > .^(0.5, 30.424876)
00:01:10 verbose #542 > > .^(0.5, 32.935062)
00:01:10 verbose #543 > > .^(0.5, 37.586178)
00:01:10 verbose #544 > > ]]
00:01:10 verbose #545 > > |> fun x => a x : _ i32 _
00:01:10 verbose #546 > > |> am.iter fun x =>
00:01:10 verbose #547 > > inl result = zeta x
00:01:10 verbose #548 > > result |> re |> abs |> _assert_lt 0.0001
00:01:10 verbose #549 > > result |> im |> abs |> _assert_lt 0.0001
00:01:10 verbose #550 > 00:01:10 debug #19 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/17555daaa4ae9304eb4e8aea76fe52e084192c76c3f578c904960afd394ce277/main.spi
00:01:10 verbose #551 > >
00:01:10 verbose #552 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:10 verbose #553 > > //// test
00:01:10 verbose #554 > > ///! rust -d num-complex pyo3
00:01:10 verbose #555 > >
00:01:10 verbose #556 > > types ()
00:01:10 verbose #557 > > test_non_trivial_zero___ true
00:01:10 verbose #558 > 00:01:10 debug #20 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/112dcdd15c51eb394d489643b3b64962c1c7016e588448f583e14d011b3b4be1/main.spi
00:01:22 verbose #559 > >
00:01:22 verbose #560 > > ╭─[ 12.01s - return value ]────────────────────────────────────────────────────╮
00:01:22 verbose #561 > > │ zeta_ / s: (0.5, 14.134725) / count: 0 │
00:01:22 verbose #562 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:01:22 verbose #563 > > │ derivative=0, method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:01:22 verbose #564 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:22 verbose #565 > > │ / arg: None │
00:01:22 verbose #566 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:01:22 verbose #567 > > │ derivative=0, method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:01:22 verbose #568 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:22 verbose #569 > > │ / arg: None │
00:01:22 verbose #570 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:01:22 verbose #571 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 531 / │
00:01:22 verbose #572 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:01:22 verbose #573 > > │ f_back.f_code.co_filename: / arg: None │
00:01:22 verbose #574 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:01:22 verbose #575 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 532 / │
00:01:22 verbose #576 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:01:22 verbose #577 > > │ f_back.f_code.co_filename: / arg: None │
00:01:22 verbose #578 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:01:22 verbose #579 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 533 / │
00:01:22 verbose #580 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:01:22 verbose #581 > > │ f_back.f_code.co_filename: / arg: None │
00:01:22 verbose #582 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(0.5+14.134725j), kwargs={}, │
00:01:22 verbose #583 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:01:22 verbose #584 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:01:22 verbose #585 > > │ / arg: None │
00:01:22 verbose #586 > > │ line(zeta_) / f_code.... │
00:01:22 verbose #587 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:22 verbose #588 > >
00:01:22 verbose #589 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:22 verbose #590 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:22 verbose #591 > > │ ## test_real_part_greater_than_one___ │
00:01:22 verbose #592 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:22 verbose #593 > >
00:01:22 verbose #594 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:22 verbose #595 > > inl test_real_part_greater_than_one___ log = run_test log (3u8, 2u8) fun zeta,
00:01:22 verbose #596 > > gamma =>
00:01:22 verbose #597 > > inl points = ;[[2; 3; 4; 5; 10; 20; 50]]
00:01:22 verbose #598 > > (a points : _ i32 _)
00:01:22 verbose #599 > > |> am.iter fun point =>
00:01:22 verbose #600 > > inl s = .^(point, 0)
00:01:22 verbose #601 > > inl result = zeta s
00:01:22 verbose #602 > > result |> re |> _assert_gt 0
00:01:22 verbose #603 > > result |> im |> _assert_eq 0
00:01:22 verbose #604 > 00:01:22 debug #21 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ed4a6b6925b3cf7f0d48eada3833ef5efe4f7ef601807fc6a44b0c42f5fa9e4c/main.spi
00:01:23 verbose #605 > >
00:01:23 verbose #606 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:23 verbose #607 > > //// test
00:01:23 verbose #608 > > ///! rust -d num-complex pyo3
00:01:23 verbose #609 > >
00:01:23 verbose #610 > > types ()
00:01:23 verbose #611 > > test_real_part_greater_than_one___ true
00:01:23 verbose #612 > 00:01:22 debug #22 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4dd99ec1bacfd80cec151190b3cbfcedfd35b63948adac80a8c30ca4c254feed/main.spi
00:01:35 verbose #613 > >
00:01:35 verbose #614 > > ╭─[ 12.22s - return value ]────────────────────────────────────────────────────╮
00:01:35 verbose #615 > > │ zeta_ / s: (2.0, 0.0) / count: 0 │
00:01:35 verbose #616 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:01:35 verbose #617 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:01:35 verbose #618 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:35 verbose #619 > > │ / arg: None │
00:01:35 verbose #620 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:01:35 verbose #621 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:01:35 verbose #622 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:35 verbose #623 > > │ / arg: None │
00:01:35 verbose #624 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:01:35 verbose #625 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:01:35 verbose #626 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:35 verbose #627 > > │ / arg: None │
00:01:35 verbose #628 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:01:35 verbose #629 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:01:35 verbose #630 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:35 verbose #631 > > │ / arg: None │
00:01:35 verbose #632 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:01:35 verbose #633 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:01:35 verbose #634 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:35 verbose #635 > > │ / arg: None │
00:01:35 verbose #636 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │
00:01:35 verbose #637 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:01:35 verbose #638 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:01:35 verbose #639 > > │ / arg: None │
00:01:35 verbose #640 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │
00:01:35 verbose #641 > > │ / f_lineno... │
00:01:35 verbose #642 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #643 > >
00:01:35 verbose #644 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #645 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #646 > > │ ## test_zeta_at_1___ │
00:01:35 verbose #647 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #648 > >
00:01:35 verbose #649 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #650 > > inl test_zeta_at_1___ log = run_test log (6u8, 5u8) fun zeta, gamma =>
00:01:35 verbose #651 > > inl s = .^(1, 0)
00:01:35 verbose #652 > > inl result = zeta s
00:01:35 verbose #653 > > result |> re |> _assert_eq limit.max
00:01:35 verbose #654 > > result |> im |> _assert_eq 0
00:01:35 verbose #655 > 00:01:34 debug #23 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fce92ab3767cbd9a5912e04f16cb1977731da40a39ae483930c070e753e42ee2/main.spi
00:01:35 verbose #656 > >
00:01:35 verbose #657 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #658 > > //// test
00:01:35 verbose #659 > > ///! rust -d num-complex pyo3
00:01:35 verbose #660 > >
00:01:35 verbose #661 > > types ()
00:01:35 verbose #662 > > test_zeta_at_1___ true
00:01:35 verbose #663 > 00:01:34 debug #24 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/da3af53265c0ea9f8cae408a9e406970757bcbdee45ebc0f516533d937f895d2/main.spi
00:01:47 verbose #664 > >
00:01:47 verbose #665 > > ╭─[ 11.81s - return value ]────────────────────────────────────────────────────╮
00:01:47 verbose #666 > > │ zeta_ / s: (1.0, 0.0) / count: 0 │
00:01:47 verbose #667 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │
00:01:47 verbose #668 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:01:47 verbose #669 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:47 verbose #670 > > │ / arg: None │
00:01:47 verbose #671 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │
00:01:47 verbose #672 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:01:47 verbose #673 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:47 verbose #674 > > │ / arg: None │
00:01:47 verbose #675 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │
00:01:47 verbose #676 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:01:47 verbose #677 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:47 verbose #678 > > │ / arg: None │
00:01:47 verbose #679 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │
00:01:47 verbose #680 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:01:47 verbose #681 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:47 verbose #682 > > │ / arg: None │
00:01:47 verbose #683 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │
00:01:47 verbose #684 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:01:47 verbose #685 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:47 verbose #686 > > │ / arg: None │
00:01:47 verbose #687 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(1+0j), kwargs={}, name='zeta' │
00:01:47 verbose #688 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:01:47 verbose #689 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:01:47 verbose #690 > > │ / arg: None │
00:01:47 verbose #691 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(1+0j), kwargs={}, name='zeta' │
00:01:47 verbose #692 > > │ / f_lineno... │
00:01:47 verbose #693 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:47 verbose #694 > >
00:01:47 verbose #695 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:47 verbose #696 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:47 verbose #697 > > │ ## test_symmetry_across_real_axis___ │
00:01:47 verbose #698 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:47 verbose #699 > >
00:01:47 verbose #700 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:47 verbose #701 > > inl test_symmetry_across_real_axis___ log = run_test log (8u8, 7u8) fun zeta,
00:01:47 verbose #702 > > gamma =>
00:01:47 verbose #703 > > inl s = .^(2, 10)
00:01:47 verbose #704 > > inl result_positive_im = zeta s
00:01:47 verbose #705 > > inl result_negative_im = zeta .^(re s, -(im s))
00:01:47 verbose #706 > > inl conj = result_negative_im |> conj
00:01:47 verbose #707 > > result_positive_im |> re |> _assert_eq (conj |> re)
00:01:47 verbose #708 > > result_positive_im |> im |> _assert_eq (conj |> im)
00:01:47 verbose #709 > 00:01:46 debug #25 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/828d6d31034a92fd7c2b76ae96b358a6f308fac3ce47d10a678fd1017a42fcac/main.spi
00:01:47 verbose #710 > >
00:01:47 verbose #711 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:47 verbose #712 > > //// test
00:01:47 verbose #713 > > ///! rust -d num-complex pyo3
00:01:47 verbose #714 > >
00:01:47 verbose #715 > > types ()
00:01:47 verbose #716 > > test_symmetry_across_real_axis___ true
00:01:47 verbose #717 > 00:01:46 debug #26 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6914963a5587b0bbe38525b23e765541484d2455b4809160229f99d85088e057/main.spi
00:01:59 verbose #718 > >
00:01:59 verbose #719 > > ╭─[ 11.85s - return value ]────────────────────────────────────────────────────╮
00:01:59 verbose #720 > > │ zeta_ / s: (2.0, 10.0) / count: 0 │
00:01:59 verbose #721 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │
00:01:59 verbose #722 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:01:59 verbose #723 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:59 verbose #724 > > │ / arg: None │
00:01:59 verbose #725 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │
00:01:59 verbose #726 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:01:59 verbose #727 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:59 verbose #728 > > │ / arg: None │
00:01:59 verbose #729 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │
00:01:59 verbose #730 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:01:59 verbose #731 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:59 verbose #732 > > │ / arg: None │
00:01:59 verbose #733 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │
00:01:59 verbose #734 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:01:59 verbose #735 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:59 verbose #736 > > │ / arg: None │
00:01:59 verbose #737 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │
00:01:59 verbose #738 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:01:59 verbose #739 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:01:59 verbose #740 > > │ / arg: None │
00:01:59 verbose #741 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+10j), kwargs={}, │
00:01:59 verbose #742 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:01:59 verbose #743 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:01:59 verbose #744 > > │ / arg: None │
00:01:59 verbose #745 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+10j), kwargs={}, │
00:01:59 verbose #746 > > │ name='zeta' / ... │
00:01:59 verbose #747 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:59 verbose #748 > >
00:01:59 verbose #749 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:59 verbose #750 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:59 verbose #751 > > │ ## test_behavior_near_origin___ │
00:01:59 verbose #752 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:59 verbose #753 > >
00:01:59 verbose #754 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:59 verbose #755 > > inl test_behavior_near_origin___ log = run_test log (6u8, 5u8) fun zeta, gamma
00:01:59 verbose #756 > > =>
00:01:59 verbose #757 > > inl s = .^(0.01, 0.01)
00:01:59 verbose #758 > > inl result = zeta s
00:01:59 verbose #759 > > result |> re |> _assert_lt limit.max
00:01:59 verbose #760 > > result |> im |> _assert_lt limit.max
00:01:59 verbose #761 > 00:01:58 debug #27 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d28d323d4bfaf1d3ca1cc8ed77624b1dd125e147c179a68a93c51becc8bb8b81/main.spi
00:01:59 verbose #762 > >
00:01:59 verbose #763 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:59 verbose #764 > > //// test
00:01:59 verbose #765 > > ///! rust -d num-complex pyo3
00:01:59 verbose #766 > >
00:01:59 verbose #767 > > types ()
00:01:59 verbose #768 > > test_behavior_near_origin___ true
00:01:59 verbose #769 > 00:01:58 debug #28 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5ba2c3802da0a88fda235dac420c8e6949a92f679f2564f48084a9cffb472f88/main.spi
00:02:11 verbose #770 > >
00:02:11 verbose #771 > > ╭─[ 11.79s - return value ]────────────────────────────────────────────────────╮
00:02:11 verbose #772 > > │ zeta_ / s: (0.01, 0.01) / count: 0 │
00:02:11 verbose #773 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │
00:02:11 verbose #774 > > │ derivative=0, method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:02:11 verbose #775 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:11 verbose #776 > > │ / arg: None │
00:02:11 verbose #777 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │
00:02:11 verbose #778 > > │ derivative=0, method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:02:11 verbose #779 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:11 verbose #780 > > │ / arg: None │
00:02:11 verbose #781 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │
00:02:11 verbose #782 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 531 / │
00:02:11 verbose #783 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:02:11 verbose #784 > > │ f_back.f_code.co_filename: / arg: None │
00:02:11 verbose #785 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │
00:02:11 verbose #786 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 532 / │
00:02:11 verbose #787 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:02:11 verbose #788 > > │ f_back.f_code.co_filename: / arg: None │
00:02:11 verbose #789 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │
00:02:11 verbose #790 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 533 / │
00:02:11 verbose #791 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:02:11 verbose #792 > > │ f_back.f_code.co_filename: / arg: None │
00:02:11 verbose #793 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(0.01+0.01j), kwargs={}, │
00:02:11 verbose #794 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:02:11 verbose #795 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:02:11 verbose #796 > > │ / arg: None │
00:02:11 verbose #797 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(0.... │
00:02:11 verbose #798 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:11 verbose #799 > >
00:02:11 verbose #800 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:11 verbose #801 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:11 verbose #802 > > │ ## test_imaginary_axis │
00:02:11 verbose #803 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:11 verbose #804 > >
00:02:11 verbose #805 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:11 verbose #806 > > inl test_imaginary_axis log = run_test log (3u8, 2u8) fun zeta, gamma =>
00:02:11 verbose #807 > > (join a ;[[10; 20; 30; 40; 50; 60; 70; 80; 90; 100]] : _ i32 _)
00:02:11 verbose #808 > > |> am.iter fun s =>
00:02:11 verbose #809 > > inl s = .^(0, s)
00:02:11 verbose #810 > > inl result = zeta s
00:02:11 verbose #811 > > result |> re |> _assert_ne 0
00:02:11 verbose #812 > > result |> im |> _assert_ne 0
00:02:11 verbose #813 > 00:02:10 debug #29 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/316b797ec350088f90ef42e22e8efcca023afea57e7f2143408fb4be7d2bb39f/main.spi
00:02:11 verbose #814 > >
00:02:11 verbose #815 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:11 verbose #816 > > //// test
00:02:11 verbose #817 > > ///! rust -d num-complex pyo3
00:02:11 verbose #818 > >
00:02:11 verbose #819 > > types ()
00:02:11 verbose #820 > > test_imaginary_axis true
00:02:11 verbose #821 > 00:02:10 debug #30 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3319f622abbcb9e18fe722ba2c54fbed5aa6ab5b308b1f0809d77a3d9b1d38bd/main.spi
00:02:23 verbose #822 > >
00:02:23 verbose #823 > > ╭─[ 12.21s - return value ]────────────────────────────────────────────────────╮
00:02:23 verbose #824 > > │ zeta_ / s: (0.0, 10.0) / count: 0 │
00:02:23 verbose #825 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │
00:02:23 verbose #826 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:02:23 verbose #827 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:23 verbose #828 > > │ / arg: None │
00:02:23 verbose #829 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │
00:02:23 verbose #830 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:02:23 verbose #831 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:23 verbose #832 > > │ / arg: None │
00:02:23 verbose #833 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │
00:02:23 verbose #834 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:02:23 verbose #835 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:23 verbose #836 > > │ / arg: None │
00:02:23 verbose #837 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │
00:02:23 verbose #838 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:02:23 verbose #839 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:23 verbose #840 > > │ / arg: None │
00:02:23 verbose #841 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │
00:02:23 verbose #842 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:02:23 verbose #843 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:23 verbose #844 > > │ / arg: None │
00:02:23 verbose #845 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=10j, kwargs={}, name='zeta' / │
00:02:23 verbose #846 > > │ f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:02:23 verbose #847 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:02:23 verbose #848 > > │ / arg: None │
00:02:23 verbose #849 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=10j, kwargs={}, name='zeta' / │
00:02:23 verbose #850 > > │ f_lineno: 990 / f_code.co_fi... │
00:02:23 verbose #851 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:23 verbose #852 > >
00:02:23 verbose #853 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:23 verbose #854 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:23 verbose #855 > > │ ## test_critical_strip │
00:02:23 verbose #856 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:23 verbose #857 > >
00:02:23 verbose #858 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:23 verbose #859 > > inl test_critical_strip log = run_test log (3u8, 2u8) fun zeta, gamma =>
00:02:23 verbose #860 > > ;[[
00:02:23 verbose #861 > > .^(0.5, 14.134725)
00:02:23 verbose #862 > > .^(0.75, 20.5)
00:02:23 verbose #863 > > .^(1.25, 30.1)
00:02:23 verbose #864 > > .^(0.25, 40.0)
00:02:23 verbose #865 > > .^(1.0, 50.0)
00:02:23 verbose #866 > > ]]
00:02:23 verbose #867 > > |> fun x => a x : _ i32 _
00:02:23 verbose #868 > > |> am.iter fun s =>
00:02:23 verbose #869 > > inl result = zeta s
00:02:23 verbose #870 > > result |> re |> _assert_ne 0
00:02:23 verbose #871 > > result |> im |> _assert_ne 0
00:02:23 verbose #872 > 00:02:23 debug #31 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/135c46515a0db4ea8ca03e904c891a78ba738e025bb90ea47882b9b884f50ed7/main.spi
00:02:23 verbose #873 > >
00:02:23 verbose #874 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:23 verbose #875 > > //// test
00:02:23 verbose #876 > > ///! rust -d num-complex pyo3
00:02:23 verbose #877 > >
00:02:23 verbose #878 > > types ()
00:02:23 verbose #879 > > test_critical_strip true
00:02:23 verbose #880 > 00:02:23 debug #32 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b66940f3a2adb5350e628843018213a5fef329591cfb672fc47accafa3f5bfb8/main.spi
00:02:35 verbose #881 > >
00:02:35 verbose #882 > > ╭─[ 12.25s - return value ]────────────────────────────────────────────────────╮
00:02:35 verbose #883 > > │ zeta_ / s: (0.5, 14.134725) / count: 0 │
00:02:35 verbose #884 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:02:35 verbose #885 > > │ derivative=0, method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:02:35 verbose #886 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:35 verbose #887 > > │ / arg: None │
00:02:35 verbose #888 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:02:35 verbose #889 > > │ derivative=0, method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:02:35 verbose #890 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:35 verbose #891 > > │ / arg: None │
00:02:35 verbose #892 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:02:35 verbose #893 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 531 / │
00:02:35 verbose #894 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:02:35 verbose #895 > > │ f_back.f_code.co_filename: / arg: None │
00:02:35 verbose #896 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:02:35 verbose #897 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 532 / │
00:02:35 verbose #898 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:02:35 verbose #899 > > │ f_back.f_code.co_filename: / arg: None │
00:02:35 verbose #900 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │
00:02:35 verbose #901 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 533 / │
00:02:35 verbose #902 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │
00:02:35 verbose #903 > > │ f_back.f_code.co_filename: / arg: None │
00:02:35 verbose #904 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(0.5+14.134725j), kwargs={}, │
00:02:35 verbose #905 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:02:35 verbose #906 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:02:35 verbose #907 > > │ / arg: None │
00:02:35 verbose #908 > > │ line(zeta_) / f_code.... │
00:02:35 verbose #909 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:35 verbose #910 > >
00:02:35 verbose #911 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:35 verbose #912 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:35 verbose #913 > > │ ## test_reflection_formula_for_specific_value │
00:02:35 verbose #914 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:35 verbose #915 > >
00:02:35 verbose #916 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:35 verbose #917 > > inl test_reflection_formula_for_specific_value log = run_test log (3u8, 2u8) fun
00:02:35 verbose #918 > > zeta, gamma =>
00:02:35 verbose #919 > > ;[[
00:02:35 verbose #920 > > .^(3, 4)
00:02:35 verbose #921 > > .^(2.5, -3.5)
00:02:35 verbose #922 > > .^(1.5, 2.5)
00:02:35 verbose #923 > > .^(0.5, 14.134725)
00:02:35 verbose #924 > > ]]
00:02:35 verbose #925 > > |> fun x => a x : _ i32 _
00:02:35 verbose #926 > > |> am.iter fun s =>
00:02:35 verbose #927 > > inl lhs = zeta s
00:02:35 verbose #928 > > inl reflection_coefficient =
00:02:35 verbose #929 > > (.^(2, 0) .** s)
00:02:35 verbose #930 > > .* (.^(pi, 0) .** (s .- .^(1, 0)))
00:02:35 verbose #931 > > .* (.^(pi, 0) .* s ./ .^(2, 0) |> complex_sin)
00:02:35 verbose #932 > > .* gamma (.^(1, 0) .- s)
00:02:35 verbose #933 > >
00:02:35 verbose #934 > > inl one_minus_s = .^(1 - re s, -(im s))
00:02:35 verbose #935 > > inl rhs = reflection_coefficient .* zeta one_minus_s
00:02:35 verbose #936 > >
00:02:35 verbose #937 > > re lhs - re rhs |> abs |> _assert_lt 0.0001
00:02:35 verbose #938 > > im lhs - im rhs |> abs |> _assert_lt 0.0001
00:02:35 verbose #939 > 00:02:35 debug #33 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aace5355bab13fae336ca3fb0d62fc56e0f14973798229edc60ade060303a84c/main.spi
00:02:36 verbose #940 > >
00:02:36 verbose #941 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:36 verbose #942 > > //// test
00:02:36 verbose #943 > > ///! rust -d num-complex pyo3
00:02:36 verbose #944 > >
00:02:36 verbose #945 > > types ()
00:02:36 verbose #946 > > test_reflection_formula_for_specific_value true
00:02:36 verbose #947 > 00:02:35 debug #34 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8ad30a2e594169c642a3eeebca5b4f52e187ada1ca7663ed30bd83d91b360dec/main.spi
00:02:48 verbose #948 > >
00:02:48 verbose #949 > > ╭─[ 12.26s - return value ]────────────────────────────────────────────────────╮
00:02:48 verbose #950 > > │ zeta_ / s: (3.0, 4.0) / count: 0 │
00:02:48 verbose #951 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │
00:02:48 verbose #952 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:02:48 verbose #953 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:48 verbose #954 > > │ / arg: None │
00:02:48 verbose #955 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │
00:02:48 verbose #956 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:02:48 verbose #957 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:48 verbose #958 > > │ / arg: None │
00:02:48 verbose #959 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │
00:02:48 verbose #960 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:02:48 verbose #961 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:48 verbose #962 > > │ / arg: None │
00:02:48 verbose #963 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │
00:02:48 verbose #964 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:02:48 verbose #965 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:48 verbose #966 > > │ / arg: None │
00:02:48 verbose #967 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │
00:02:48 verbose #968 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:02:48 verbose #969 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:02:48 verbose #970 > > │ / arg: None │
00:02:48 verbose #971 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(3+4j), kwargs={}, name='zeta' │
00:02:48 verbose #972 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:02:48 verbose #973 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:02:48 verbose #974 > > │ / arg: None │
00:02:48 verbose #975 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(3+4j), kwargs={}, name='zeta' │
00:02:48 verbose #976 > > │ / f_lineno... │
00:02:48 verbose #977 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:48 verbose #978 > >
00:02:48 verbose #979 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:48 verbose #980 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:48 verbose #981 > > │ ## test_euler_product_formula │
00:02:48 verbose #982 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:48 verbose #983 > >
00:02:48 verbose #984 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:48 verbose #985 > > inl test_euler_product_formula log = run_test log (3u8, 2u8) fun zeta, gamma =>
00:02:48 verbose #986 > > inl s_values = ;[[2; 2.5; 3; 3.5; 4; 4.5; 5]]
00:02:48 verbose #987 > > inl primes = ;[[2; 3; 5; 7; 11; 13; 17; 19; 23; 29; 31; 37; 41; 43; 47; 53;
00:02:48 verbose #988 > > 59; 61; 67; 71]]
00:02:48 verbose #989 > > (a s_values : _ i32 _)
00:02:48 verbose #990 > > |> am.iter fun s_re =>
00:02:48 verbose #991 > > inl s = .^(s_re, 0)
00:02:48 verbose #992 > > inl product =
00:02:48 verbose #993 > > (1, (a primes : _ i32 _))
00:02:48 verbose #994 > > ||> am.fold fun acc x =>
00:02:48 verbose #995 > > acc * 1 / (1 - x ** -s_re)
00:02:48 verbose #996 > >
00:02:48 verbose #997 > > inl result = zeta s
00:02:48 verbose #998 > > re result - product |> abs |> _assert_lt 0.01
00:02:48 verbose #999 > > result |> im |> _assert_lt 0.01
00:02:48 verbose #1000 > 00:02:47 debug #35 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f2a9aad75234c38afd57f832c50ee45eb769d019a97037ea4bd5a49e85dd900d/main.spi
00:02:48 verbose #1001 > >
00:02:48 verbose #1002 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:48 verbose #1003 > > //// test
00:02:48 verbose #1004 > > ///! rust -d num-complex pyo3
00:02:48 verbose #1005 > >
00:02:48 verbose #1006 > > types ()
00:02:48 verbose #1007 > > test_euler_product_formula true
00:02:48 verbose #1008 > 00:02:47 debug #36 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b00af8bc8bffb23b937aa081de5338218fa0e5f65d3b657752534e0913ad6337/main.spi
00:03:00 verbose #1009 > >
00:03:00 verbose #1010 > > ╭─[ 12.01s - return value ]────────────────────────────────────────────────────╮
00:03:00 verbose #1011 > > │ zeta_ / s: (2.0, 0.0) / count: 0 │
00:03:00 verbose #1012 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:03:00 verbose #1013 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │
00:03:00 verbose #1014 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:03:00 verbose #1015 > > │ / arg: None │
00:03:00 verbose #1016 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:03:00 verbose #1017 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │
00:03:00 verbose #1018 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:03:00 verbose #1019 > > │ / arg: None │
00:03:00 verbose #1020 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:03:00 verbose #1021 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │
00:03:00 verbose #1022 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:03:00 verbose #1023 > > │ / arg: None │
00:03:00 verbose #1024 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:03:00 verbose #1025 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │
00:03:00 verbose #1026 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:03:00 verbose #1027 > > │ / arg: None │
00:03:00 verbose #1028 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │
00:03:00 verbose #1029 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │
00:03:00 verbose #1030 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │
00:03:00 verbose #1031 > > │ / arg: None │
00:03:00 verbose #1032 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │
00:03:00 verbose #1033 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │
00:03:00 verbose #1034 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │
00:03:00 verbose #1035 > > │ / arg: None │
00:03:00 verbose #1036 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │
00:03:00 verbose #1037 > > │ / f_lineno... │
00:03:00 verbose #1038 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #1039 > >
00:03:00 verbose #1040 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #1041 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #1042 > > │ ## graph │
00:03:00 verbose #1043 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #1044 > >
00:03:00 verbose #1045 > > ── mermaid ─────────────────────────────────────────────────────────────────────
00:03:00 verbose #1046 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #1047 > > │ <div class="mermaidMarkdownContainer" style="background-color:white"> │
00:03:00 verbose #1048 > > │ <link rel="stylesheet" │
00:03:00 verbose #1049 > > │ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min. │
00:03:00 verbose #1050 > > │ css"> │
00:03:00 verbose #1051 > > │ <div id="4cf43ead2afd4c56b841aac64aac3485"></div> │
00:03:00 verbose #1052 > > │ <script type="module"> │
00:03:00 verbose #1053 > > │ │
00:03:00 verbose #1054 > > │ import mermaid from │
00:03:00 verbose #1055 > > │ 'https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.esm.min.mjs'; │
00:03:00 verbose #1056 > > │ let renderTarget = │
00:03:00 verbose #1057 > > │ document.getElementById('4cf43ead2afd4c56b841aac64aac3485'); │
00:03:00 verbose #1058 > > │ try { │
00:03:00 verbose #1059 > > │ const {svg, bindFunctions} = await │
00:03:00 verbose #1060 > > │ mermaid.mermaidAPI.render( │
00:03:00 verbose #1061 > > │ 'mermaid_4cf43ead2afd4c56b841aac64aac3485', │
00:03:00 verbose #1062 > > │ `graph TD │
00:03:00 verbose #1063 > > │ zeta("zeta()") --> convert │
00:03:00 verbose #1064 > > │ zeta --> f["f()"] │
00:03:00 verbose #1065 > > │ f --> mpc_f["mpc_zeta()"] │
00:03:00 verbose #1066 > > │ f --> mpf_f["mpf_zeta()"] │
00:03:00 verbose #1067 > > │ convert --> from_float │
00:03:00 verbose #1068 > > │ from_float --> from_man_exp │
00:03:00 verbose #1069 > > │ from_man_exp --> python_bitcount │
00:03:00 verbose #1070 > > │ python_bitcount --> _normalize │
00:03:00 verbose #1071 > > │ _normalize --> make_mpc │
00:03:00 verbose #1072 > > │ make_mpc --> mpc_zeta["mpc_zeta()"] │
00:03:00 verbose #1073 > > │ mpc_zeta --> mpf_zeta["mpf_zeta()"] │
00:03:00 verbose #1074 > > │ mpf_zeta --> to_int │
00:03:00 verbose #1075 > > │ to_int --> mpf_zeta_int["mpf_zeta_int()"] │
00:03:00 verbose #1076 > > │ mpf_zeta_int --> borwein_coefficients │
00:03:00 verbose #1077 > > │ borwein_coefficients --> from_man_exp_2("from_man_exp()") │
00:03:00 verbose #1078 > > │ from_man_exp_2 --> python_bitcount_2("python_bitcount()") │
00:03:00 verbose #1079 > > │ python_bitcount_2 --> _normalize_2("_normalize()") │
00:03:00 verbose #1080 > > │ _normalize_2 --> make_mpc_2("make_mpc()") │
00:03:00 verbose #1081 > > │ make_mpc_2 --> stop_trace │
00:03:00 verbose #1082 > > │ mpf_zeta_int --> mpf_bernoulli │
00:03:00 verbose #1083 > > │ mpf_bernoulli --> bernoulli_size │
00:03:00 verbose #1084 > > │ bernoulli_size --> mpf_rdiv_int │
00:03:00 verbose #1085 > > │ mpf_rdiv_int --> python_bitcount_3("python_bitcount()") │
00:03:00 verbose #1086 > > │ python_bitcount_3 --> _normalize1 │
00:03:00 verbose #1087 > > │ _normalize1 --> from_man_exp_3("from_man_exp()") │
00:03:00 verbose #1088 > > │ from_man_exp_3 --> _normalize_3("_normalize()") │
00:03:00 verbose #1089 > > │ _normalize_3 --> mpf_sub │
00:03:00 verbose #1090 > > │ mpf_sub --> mpf_add │
00:03:00 verbose #1091 > > │ mpf_add --> mpf_neg │
00:03:00 verbose #1092 > > │ mpf_neg --> _normalize1_2("_normalize1()") │
00:03:00 verbose #1093 > > │ _normalize1_2 --> from_int │
00:03:00 verbose #1094 > > │ from_int --> mpf_div │
00:03:00 verbose #1095 > > │ mpf_div --> python_bitcount_4("python_bitcount()") │
00:03:00 verbose #1096 > > │ python_bitcount_4 --> _normalize1_3("_normalize1()") │
00:03:00 verbose #1097 > > │ _normalize1_3 --> make_mpc_3("make_mpc()") │
00:03:00 verbose #1098 > > │ make_mpc_3 --> final_stop["stop_trace()"]`); │
00:03:00 verbose #1099 > > │ renderTarget.innerHTML = svg; │
00:03:00 verbose #1100 > > │ bindFunctions?.(renderTarget); │
00:03:00 verbose #1101 > > │ } │
00:03:00 verbose #1102 > > │ catch (error) { │
00:03:00 verbose #1103 > > │ console.log(error); │
00:03:00 verbose #1104 > > │ } │
00:03:00 verbose #1105 > > │ </script> │
00:03:00 verbose #1106 > > │ </div> │
00:03:00 verbose #1107 > > │ │
00:03:00 verbose #1108 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #1109 > >
00:03:00 verbose #1110 > > ── mermaid ─────────────────────────────────────────────────────────────────────
00:03:00 verbose #1111 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #1112 > > │ <div class="mermaidMarkdownContainer" style="background-color:white"> │
00:03:00 verbose #1113 > > │ <link rel="stylesheet" │
00:03:00 verbose #1114 > > │ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min. │
00:03:00 verbose #1115 > > │ css"> │
00:03:00 verbose #1116 > > │ <div id="8c52831d69554b57a0b3dae24da48854"></div> │
00:03:00 verbose #1117 > > │ <script type="module"> │
00:03:00 verbose #1118 > > │ │
00:03:00 verbose #1119 > > │ import mermaid from │
00:03:00 verbose #1120 > > │ 'https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.esm.min.mjs'; │
00:03:00 verbose #1121 > > │ let renderTarget = │
00:03:00 verbose #1122 > > │ document.getElementById('8c52831d69554b57a0b3dae24da48854'); │
00:03:00 verbose #1123 > > │ try { │
00:03:00 verbose #1124 > > │ const {svg, bindFunctions} = await │
00:03:00 verbose #1125 > > │ mermaid.mermaidAPI.render( │
00:03:00 verbose #1126 > > │ 'mermaid_8c52831d69554b57a0b3dae24da48854', │
00:03:00 verbose #1127 > > │ `graph TD │
00:03:00 verbose #1128 > > │ zeta_rust("zeta() - Rust") --> num_traits("num-traits") │
00:03:00 verbose #1129 > > │ zeta_rust --> num_bigint("num-bigint") │
00:03:00 verbose #1130 > > │ zeta_rust --> rust_decimal("rust_decimal for precision") │
00:03:00 verbose #1131 > > │ zeta_rust --> error_handling("Rust Error Handling") │
00:03:00 verbose #1132 > > │ │
00:03:00 verbose #1133 > > │ num_traits --> num_traits_usage("Use for common traits") │
00:03:00 verbose #1134 > > │ num_bigint --> bigint_operations("Arbitrary-precision arithmetic │
00:03:00 verbose #1135 > > │ operations") │
00:03:00 verbose #1136 > > │ rust_decimal --> decimal_operations("High-precision decimal operations") │
00:03:00 verbose #1137 > > │ error_handling --> result_type("Use Result<T, E> for error handling") │
00:03:00 verbose #1138 > > │ │
00:03:00 verbose #1139 > > │ bigint_operations --> convert_rust("convert() - Rust") │
00:03:00 verbose #1140 > > │ bigint_operations --> normalize_rust("_normalize() - Rust") │
00:03:00 verbose #1141 > > │ │
00:03:00 verbose #1142 > > │ convert_rust --> from_float_rust("from_float() - Rust") │
00:03:00 verbose #1143 > > │ from_float_rust --> from_man_exp_rust("from_man_exp() - Rust") │
00:03:00 verbose #1144 > > │ from_man_exp_rust --> bitcount_rust("bitcount() - Rust") │
00:03:00 verbose #1145 > > │ bitcount_rust --> normalize_rust │
00:03:00 verbose #1146 > > │ normalize_rust --> mpc_zeta_rust("mpc_zeta() - Rust") │
00:03:00 verbose #1147 > > │ mpc_zeta_rust --> mpf_zeta_rust("mpf_zeta() - Rust") │
00:03:00 verbose #1148 > > │ mpf_zeta_rust --> to_int_rust("to_int() - Rust") │
00:03:00 verbose #1149 > > │ to_int_rust --> mpf_zeta_int_rust("mpf_zeta_int() - Rust") │
00:03:00 verbose #1150 > > │ │
00:03:00 verbose #1151 > > │ mpf_zeta_int_rust --> borwein_coefficients_rust("borwein_coefficients() │
00:03:00 verbose #1152 > > │ - Rust") │
00:03:00 verbose #1153 > > │ borwein_coefficients_rust --> from_man_exp_rust_2("from_man_exp() - │
00:03:00 verbose #1154 > > │ Rust") │
00:03:00 verbose #1155 > > │ from_man_exp_rust_2 --> bitcount_rust_2("bitcount() - Rust") │
00:03:00 verbose #1156 > > │ bitcount_rust_2 --> normalize_rust_2("_normalize() - Rust") │
00:03:00 verbose #1157 > > │ normalize_rust_2 --> make_mpc_rust("make_mpc() - Rust") │
00:03:00 verbose #1158 > > │ │
00:03:00 verbose #1159 > > │ mpf_zeta_int_rust --> mpf_bernoulli_rust("mpf_bernoulli() - Rust") │
00:03:00 verbose #1160 > > │ mpf_bernoulli_rust --> bernoulli_size_rust("bernoulli_size() - Rust") │
00:03:00 verbose #1161 > > │ bernoulli_size_rust --> mpf_rdiv_int_rust("mpf_rdiv_int() - Rust") │
00:03:00 verbose #1162 > > │ mpf_rdiv_int_rust --> bitcount_rust_3("bitcount() - Rust") │
00:03:00 verbose #1163 > > │ bitcount_rust_3 --> normalize1_rust("_normalize1() - Rust") │
00:03:00 verbose #1164 > > │ normalize1_rust --> from_man_exp_rust_3("from_man_exp() - Rust") │
00:03:00 verbose #1165 > > │ from_man_exp_rust_3 --> normalize_rust_3("_normalize() - Rust") │
00:03:00 verbose #1166 > > │ normalize_rust_3 --> mpf_sub_rust("mpf_sub() - Rust") │
00:03:00 verbose #1167 > > │ mpf_sub_rust --> mpf_add_rust("mpf_add() - Rust") │
00:03:00 verbose #1168 > > │ mpf_add_rust --> mpf_neg_rust("mpf_neg() - Rust") │
00:03:00 verbose #1169 > > │ mpf_neg_rust --> normalize1_rust_2("_normalize1() - Rust") │
00:03:00 verbose #1170 > > │ normalize1_rust_2 --> from_int_rust("from_int() - Rust") │
00:03:00 verbose #1171 > > │ from_int_rust --> mpf_div_rust("mpf_div() - Rust") │
00:03:00 verbose #1172 > > │ mpf_div_rust --> bitcount_rust_4("bitcount() - Rust") │
00:03:00 verbose #1173 > > │ bitcount_rust_4 --> normalize1_rust_3("_normalize1() - Rust") │
00:03:00 verbose #1174 > > │ │
00:03:00 verbose #1175 > > │ style zeta_rust fill:#f9f,stroke:#333,stroke-width:4px │
00:03:00 verbose #1176 > > │ style num_traits fill:#bbf,stroke:#333,stroke-width:2px │
00:03:00 verbose #1177 > > │ style num_bigint fill:#bbf,stroke:#333,stroke-width:2px │
00:03:00 verbose #1178 > > │ style rust_decimal fill:#bbf,stroke:#333,stroke-width:2px │
00:03:00 verbose #1179 > > │ style error_handling fill:#bbf,stroke:#333,stroke-width:2px │
00:03:00 verbose #1180 > > │ style bigint_operations fill:#bfb,stroke:#333,stroke-width:2px │
00:03:00 verbose #1181 > > │ style decimal_operations fill:#bfb,stroke:#333,stroke-width:2px │
00:03:00 verbose #1182 > > │ style result_type fill:#bfb,stroke:#333,stroke-width:2px`); │
00:03:00 verbose #1183 > > │ renderTarget.innerHTML = svg; │
00:03:00 verbose #1184 > > │ bindFunctions?.(renderTarget); │
00:03:00 verbose #1185 > > │ } │
00:03:00 verbose #1186 > > │ catch (error) { │
00:03:00 verbose #1187 > > │ console.log(error); │
00:03:00 verbose #1188 > > │ } │
00:03:00 verbose #1189 > > │ </script> │
00:03:00 verbose #1190 > > │ </div> │
00:03:00 verbose #1191 > > │ │
00:03:00 verbose #1192 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #1193 > >
00:03:00 verbose #1194 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #1195 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #1196 > > │ ## tests │
00:03:00 verbose #1197 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #1198 > >
00:03:00 verbose #1199 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #1200 > > inl tests () =
00:03:00 verbose #1201 > > rust.run_tests [[
00:03:00 verbose #1202 > > "test_zeta_at_known_values_", fun _ =>
00:03:00 verbose #1203 > > test_zeta_at_known_values_ false
00:03:00 verbose #1204 > >
00:03:00 verbose #1205 > > "test_zeta_at_2_minus2", fun _ =>
00:03:00 verbose #1206 > > test_zeta_at_2_minus2 false
00:03:00 verbose #1207 > >
00:03:00 verbose #1208 > > "test_trivial_zero_at_negative_even___", fun _ =>
00:03:00 verbose #1209 > > test_trivial_zero_at_negative_even___ false
00:03:00 verbose #1210 > >
00:03:00 verbose #1211 > > "test_non_trivial_zero___", fun _ =>
00:03:00 verbose #1212 > > test_non_trivial_zero___ false
00:03:00 verbose #1213 > >
00:03:00 verbose #1214 > > "test_real_part_greater_than_one___", fun _ =>
00:03:00 verbose #1215 > > test_real_part_greater_than_one___ false
00:03:00 verbose #1216 > >
00:03:00 verbose #1217 > > "test_zeta_at_1___", fun _ =>
00:03:00 verbose #1218 > > test_zeta_at_1___ false
00:03:00 verbose #1219 > >
00:03:00 verbose #1220 > > "test_symmetry_across_real_axis___", fun _ =>
00:03:00 verbose #1221 > > test_symmetry_across_real_axis___ false
00:03:00 verbose #1222 > >
00:03:00 verbose #1223 > > "test_behavior_near_origin___", fun _ =>
00:03:00 verbose #1224 > > test_behavior_near_origin___ false
00:03:00 verbose #1225 > >
00:03:00 verbose #1226 > > "test_imaginary_axis", fun _ =>
00:03:00 verbose #1227 > > test_imaginary_axis false
00:03:00 verbose #1228 > >
00:03:00 verbose #1229 > > "test_critical_strip", fun _ =>
00:03:00 verbose #1230 > > test_critical_strip false
00:03:00 verbose #1231 > >
00:03:00 verbose #1232 > > "test_reflection_formula_for_specific_value", fun _ =>
00:03:00 verbose #1233 > > test_reflection_formula_for_specific_value false
00:03:00 verbose #1234 > >
00:03:00 verbose #1235 > > "test_euler_product_formula", fun _ =>
00:03:00 verbose #1236 > > test_euler_product_formula false
00:03:00 verbose #1237 > > ]]
00:03:00 verbose #1238 > 00:03:00 debug #37 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/733c5d5f710367010d2f4ad7e59c3bab10868302fd142ac271a9012f403abc53/main.spi
00:03:00 verbose #1239 > >
00:03:00 verbose #1240 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #1241 > > ///!
00:03:00 verbose #1242 > >
00:03:00 verbose #1243 > > inl main (_args : array_base string) =
00:03:00 verbose #1244 > > inl value = 1i32
00:03:00 verbose #1245 > > console.write_line ($"$\"value: {!value}\"" : string)
00:03:00 verbose #1246 > > 0i32
00:03:00 verbose #1247 > >
00:03:00 verbose #1248 > > inl main () =
00:03:00 verbose #1249 > > types ()
00:03:00 verbose #1250 > > $"let tests () = !tests ()" : ()
00:03:00 verbose #1251 > > $"let main args = !main args" : ()
00:03:00 verbose #1252 > 00:03:00 debug #38 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/93c1652accf953a3c9e68381a99447ef37b1de0e9e906871b28eb006c19f1486/main.spi
00:03:00 verbose #1253 > 00:02:59 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 81076
00:03:00 verbose #1254 > 00:02:59 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:03:01 verbose #1255 > 00:03:00 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb to html
00:03:01 verbose #1256 > 00:03:00 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:03:01 verbose #1257 > 00:03:00 verbose #7 ! validate(nb)
00:03:02 verbose #1258 > 00:03:00 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:03:02 verbose #1259 > 00:03:00 verbose #9 ! return _pygments_highlight(
00:03:02 verbose #1260 > 00:03:01 verbose #10 ! [NbConvertApp] Writing 7151289 bytes to /home/runner/work/polyglot/polyglot/lib/math/math.dib.html
00:03:03 verbose #1261 > 00:03:01 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 889
00:03:03 verbose #1262 > 00:03:01 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 889
00:03:03 verbose #1263 > 00:03:01 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/math/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/math/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:03:03 verbose #1264 > 00:03:02 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:03:03 verbose #1265 > 00:03:02 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:03:03 verbose #1266 > 00:03:02 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 82024
00:03:03 debug #1267 execute_with_options_async / exit_code: 0 / output.Length: 86801
00:03:03 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path math.dib --retries 5
00:03:03 verbose #28 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:03:03 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 writeDibCode / output: Spi / path: math.dib
00:00:00 debug #2 parseDibCode / output: Spi / file: math.dib
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 verbose #28 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 debug #3 buildFile / takeWhileInclusive / path: math.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 debug #4 buildFile / takeWhileInclusive / path: math.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 verbose #5 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # math\nopen testing\nopen rust_operators\n\ninl types () =\n global ...gs = !main args\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/math/math.spi"}} / result:
00:00:01 verbose #6 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/math/math.spi"}} / result:
00:00:01 verbose #7 > 00:00:01 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/math/math.spi
00:00:02 debug #7 buildFile / takeWhileInclusive / path: math.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #8 buildFile / takeWhileInclusive / path: math.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #9 buildFile / takeWhileInclusive / path: math.spi / fsxContent: #if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]
#endif
type core_any_Any = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("_")>]
#endif
type core_ops_Try<'...let v1 : string = $"value: {1}"
System.Console.WriteLine v1
0
let v0 : (unit -> unit) = closure0()
let tests () = v0 ()
let v1 : ((string []) -> int32) = closure5()
let main args = v1 args
()
/ errors: [] / typeErrorCount: 0
00:00:03 debug #10 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 verbose #29 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:00:03 verbose #30 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 persistCodeProject / packages: [Fable.Core] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: math / hash: / code.Length: 140653
00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fsproj
00:00:00 debug #1 execute_with_options_async / options: struct (None,
"dotnet publish "/home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/lib/math/dist" --runtime linux-x64",
[||], None, None, true,
Some "/home/runner/work/polyglot/polyglot/target/polyglot/builder/math")
00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET
00:00:00 verbose #3 > Determining projects to restore...
00:00:01 verbose #4 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do.
00:00:01 verbose #6 > Total time taken: 0 milliseconds
00:00:01 verbose #7 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fsproj
00:00:01 verbose #9 > Starting restore process.
00:00:02 verbose #10 > Total time taken: 0 milliseconds
00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fsproj (in 505 ms).
00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fsproj]
00:00:10 verbose #13 > math -> /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/bin/Release/net9.0/linux-x64/math.dll
00:00:10 verbose #14 > math -> /home/runner/work/polyglot/polyglot/lib/math/dist
00:00:10 debug #15 execute_with_options_async / exit_code: 0 / output.Length: 1085
targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/builder/math
Fable 4.17.0: F# to Rust compiler (status: alpha)
Thanks to the contributor! @zaaack
Stand with Ukraine! https://standwithukraine.com.ua/
Parsing target/polyglot/builder/math/math.fsproj...
target/polyglot/builder/math> dotnet restore math.fable-temp.csproj -p:FABLE_COMPILER=true -p:FABLE_COMPILER_4=true -p:FABLE_COMPILER_RUST=true
Determining projects to restore...
Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
The last full restore is still up to date. Nothing left to do.
Total time taken: 0 milliseconds
Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fable-temp.csproj
Starting restore process.
Total time taken: 0 milliseconds
Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fable-temp.csproj (in 293 ms).
target/polyglot/builder/math> dotnet restore /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fsproj
Determining projects to restore...
Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/math/math.fsproj (in 294 ms).
Project and references (13 source files) parsed in 5330ms
Started Fable compilation...
Fable compilation finished in 5326ms
./lib/spiral/crypto.fsx(490,0): (490,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/common.fsx(831,0): (831,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/common.fsx(838,0): (838,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/sm.fsx(594,0): (594,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/async_.fsx(112,0): (112,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/threading.fsx(167,0): (167,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/date_time.fsx(639,0): (639,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/networking.fsx(2842,0): (2842,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/networking.fsx(2851,0): (2851,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/trace.fsx(710,0): (710,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/trace.fsx(713,0): (713,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/file_system.fsx(5639,0): (5639,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/file_system.fsx(5678,0): (5678,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/runtime.fsx(3837,0): (3837,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./lib/spiral/runtime.fsx(3850,0): (3850,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
./target/polyglot/builder/math/math.fs(213,0): (215,3) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk!
Compiling libm v0.2.8
Compiling num-traits v0.2.19
Compiling target-lexicon v0.12.14
Compiling once_cell v1.19.0
Compiling getrandom v0.2.15
Compiling syn v2.0.65
Compiling rand_core v0.6.4
Compiling paste v1.0.15
Compiling pyo3-build-config v0.21.2
Compiling syn v1.0.109
Compiling bytemuck v1.16.0
Compiling ppv-lite86 v0.2.17
Compiling safe_arch v0.7.1
Compiling rand_chacha v0.3.1
Compiling matrixmultiply v0.3.8
Compiling lock_api v0.4.12
Compiling typenum v1.17.0
Compiling futures-io v0.3.30
Compiling pyo3-ffi v0.21.2
Compiling parking_lot_core v0.9.10
Compiling wide v0.7.19
Compiling rand v0.8.5
Compiling num-integer v0.1.46
Compiling approx v0.5.1
Compiling num-complex v0.4.6
Compiling memoffset v0.9.1
Compiling heck v0.4.1
Compiling rawpointer v0.2.1
Compiling portable-atomic v1.6.0
Compiling scopeguard v1.2.0
Compiling smallvec v1.13.2
Compiling simba v0.6.0
Compiling futures-macro v0.3.30
Compiling pyo3-macros-backend v0.21.2
Compiling futures-util v0.3.30
Compiling nalgebra-macros v0.1.0
Compiling num-rational v0.4.2
Compiling rand_distr v0.4.3
Compiling futures-executor v0.3.30
Compiling pyo3 v0.21.2
Compiling chrono v0.4.38
Compiling futures v0.3.30
Compiling parking_lot v0.12.2
Compiling pyo3-macros v0.21.2
Compiling nalgebra v0.29.0
Compiling uuid v1.8.0
Compiling unindent v0.2.3
Compiling indoc v2.0.5
Compiling lazy_static v1.4.0
Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust)
Compiling float-cmp v0.9.0
Compiling statrs v0.16.0
Compiling math v0.0.1 (/home/runner/work/polyglot/polyglot/lib/math)
Finished `release` profile [optimized] target(s) in 25.50s
Running unittests math.rs (/home/runner/work/polyglot/polyglot/workspace/target/release/deps/math-88743a6fbe4f1e3e)
running 12 tests
test module_b7a9935b::Math::test_behavior_near_origin___ ... ok
test module_b7a9935b::Math::test_euler_product_formula ... ok
test module_b7a9935b::Math::test_non_trivial_zero___ ... ok
test module_b7a9935b::Math::test_critical_strip ... ok
test module_b7a9935b::Math::test_real_part_greater_than_one___ ... ok
test module_b7a9935b::Math::test_symmetry_across_real_axis___ ... ok
test module_b7a9935b::Math::test_zeta_at_1___ ... ok
test module_b7a9935b::Math::test_reflection_formula_for_specific_value ... ok
test module_b7a9935b::Math::test_zeta_at_2_minus2 ... ok
test module_b7a9935b::Math::test_zeta_at_known_values_ ... ok
test module_b7a9935b::Math::test_imaginary_axis ... ok
test module_b7a9935b::Math::test_trivial_zero_at_negative_even___ ... ok
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
In [ ]:
{ pwsh ../apps/plot/build.ps1 } | Invoke-Block
Compiling num-traits v0.2.19 Compiling futures-io v0.3.30 Compiling plotters-backend v0.3.5 Compiling futures-util v0.3.30 Compiling plotters-svg v0.3.5 Compiling chrono v0.4.38 Compiling plotters v0.3.5 Compiling futures-executor v0.3.30 Compiling futures v0.3.30 Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust) Compiling plot v0.0.1 (/home/runner/work/polyglot/polyglot/apps/plot) Finished `release` profile [optimized] target(s) in 10.93s
In [ ]:
{ pwsh ../apps/perf/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path Perf.dib --retries 3",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Perf.dib", "--retries", "3"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:02 verbose #10 > >
00:00:02 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #13 > > │ ## Perf (Polyglot) │
00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #15 > >
00:00:02 verbose #16 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:02 verbose #17 > > #!import ../../lib/fsharp/Notebooks.dib
00:00:02 verbose #18 > > #!import ../../lib/fsharp/Testing.dib
00:00:02 verbose #19 > >
00:00:02 verbose #20 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:02 verbose #21 > > #r
00:00:02 verbose #22 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:00:02 verbose #23 > > NetCore.Html.Abstractions.dll"
00:00:02 verbose #24 > > #r
00:00:02 verbose #25 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #26 > > Net.Interactive.dll"
00:00:02 verbose #27 > > #r
00:00:02 verbose #28 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #29 > > Net.Interactive.FSharp.dll"
00:00:02 verbose #30 > > #r
00:00:02 verbose #31 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #32 > > Net.Interactive.Formatting.dll"
00:00:02 verbose #33 > > open System
00:00:02 verbose #34 > > open System.IO
00:00:02 verbose #35 > > open System.Text
00:00:02 verbose #36 > > open Microsoft.DotNet.Interactive.Formatting
00:00:04 verbose #37 > >
00:00:04 verbose #38 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 verbose #39 > > #r
00:00:04 verbose #40 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:04 verbose #41 > > Net.Interactive.FSharp.dll"
00:00:04 verbose #42 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:04 verbose #43 > > #r
00:00:04 verbose #44 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:04 verbose #45 > > Net.Interactive.dll"
00:00:04 verbose #46 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:04 verbose #47 > >
00:00:04 verbose #48 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 verbose #49 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:00:05 verbose #50 > >
00:00:05 verbose #51 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #52 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:00:05 verbose #53 > > TextWriter)->fprintfn writer "%120A" x)
00:00:05 verbose #54 > >
00:00:05 verbose #55 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #56 > > //// test
00:00:05 verbose #57 > >
00:00:05 verbose #58 > > Formatter.ListExpansionLimit <- 100
00:00:05 verbose #59 > >
00:00:05 verbose #60 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #61 > > #if FABLE_COMPILER
00:00:05 verbose #62 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:05 verbose #63 > > #endif
00:00:05 verbose #64 > > type std_env_VarError = class end
00:00:05 verbose #65 > > #if FABLE_COMPILER
00:00:05 verbose #66 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:05 verbose #67 > > #endif
00:00:05 verbose #68 > > type core_any_Any = class end
00:00:05 verbose #69 > > #if FABLE_COMPILER
00:00:05 verbose #70 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:05 verbose #71 > > #endif
00:00:05 verbose #72 > > type core_ops_Try<'T> = class end
00:00:05 verbose #73 > > #if FABLE_COMPILER
00:00:05 verbose #74 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:05 verbose #75 > > #endif
00:00:05 verbose #76 > > type Func0<'T> = class end
00:00:05 verbose #77 > > #if FABLE_COMPILER
00:00:05 verbose #78 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:05 verbose #79 > > #endif
00:00:05 verbose #80 > > type Func0<'T, 'U> = class end
00:00:05 verbose #81 > > #if FABLE_COMPILER
00:00:05 verbose #82 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:05 verbose #83 > > #endif
00:00:05 verbose #84 > > type Box<'T> = class end
00:00:05 verbose #85 > > #if FABLE_COMPILER
00:00:05 verbose #86 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:05 verbose #87 > > #endif
00:00:05 verbose #88 > > type Dyn<'T> = class end
00:00:05 verbose #89 > > #if FABLE_COMPILER
00:00:05 verbose #90 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:05 verbose #91 > > #endif
00:00:05 verbose #92 > > type Send<'T> = class end
00:00:05 verbose #93 > > #if FABLE_COMPILER
00:00:05 verbose #94 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:05 verbose #95 > > #endif
00:00:05 verbose #96 > > type Fn<'T> = class end
00:00:05 verbose #97 > > #if FABLE_COMPILER
00:00:05 verbose #98 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:05 verbose #99 > > #endif
00:00:05 verbose #100 > > type FnUnit = class end
00:00:05 verbose #101 > > #if FABLE_COMPILER
00:00:05 verbose #102 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:05 verbose #103 > > #endif
00:00:05 verbose #104 > > type FnOnce<'T> = class end
00:00:05 verbose #105 > > #if FABLE_COMPILER
00:00:05 verbose #106 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:05 verbose #107 > > #endif
00:00:05 verbose #108 > > type ActionFn<'T> = class end
00:00:05 verbose #109 > > #if FABLE_COMPILER
00:00:05 verbose #110 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:05 verbose #111 > > #endif
00:00:05 verbose #112 > > type ActionFn2<'T, 'U> = class end
00:00:05 verbose #113 > > #if FABLE_COMPILER
00:00:05 verbose #114 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:05 verbose #115 > > #endif
00:00:05 verbose #116 > > type Impl<'T> = class end
00:00:05 verbose #117 > > #if FABLE_COMPILER
00:00:05 verbose #118 > > [[<Fable...
00:00:06 verbose #119 > >
00:00:06 verbose #120 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:06 verbose #121 > > #if FABLE_COMPILER
00:00:06 verbose #122 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:06 verbose #123 > > #endif
00:00:06 verbose #124 > > type core_any_Any = class end
00:00:06 verbose #125 > > #if FABLE_COMPILER
00:00:06 verbose #126 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:06 verbose #127 > > #endif
00:00:06 verbose #128 > > type core_ops_Try<'T> = class end
00:00:06 verbose #129 > > #if FABLE_COMPILER
00:00:06 verbose #130 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:06 verbose #131 > > #endif
00:00:06 verbose #132 > > type Func0<'T> = class end
00:00:06 verbose #133 > > #if FABLE_COMPILER
00:00:06 verbose #134 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:06 verbose #135 > > #endif
00:00:06 verbose #136 > > type Func0<'T, 'U> = class end
00:00:06 verbose #137 > > #if FABLE_COMPILER
00:00:06 verbose #138 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:06 verbose #139 > > #endif
00:00:06 verbose #140 > > type Box<'T> = class end
00:00:06 verbose #141 > > #if FABLE_COMPILER
00:00:06 verbose #142 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:06 verbose #143 > > #endif
00:00:06 verbose #144 > > type Dyn<'T> = class end
00:00:06 verbose #145 > > #if FABLE_COMPILER
00:00:06 verbose #146 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:06 verbose #147 > > #endif
00:00:06 verbose #148 > > type Send<'T> = class end
00:00:06 verbose #149 > > #if FABLE_COMPILER
00:00:06 verbose #150 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:06 verbose #151 > > #endif
00:00:06 verbose #152 > > type Fn<'T> = class end
00:00:06 verbose #153 > > #if FABLE_COMPILER
00:00:06 verbose #154 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:06 verbose #155 > > #endif
00:00:06 verbose #156 > > type FnUnit = class end
00:00:06 verbose #157 > > #if FABLE_COMPILER
00:00:06 verbose #158 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:06 verbose #159 > > #endif
00:00:06 verbose #160 > > type FnOnce<'T> = class end
00:00:06 verbose #161 > > #if FABLE_COMPILER
00:00:06 verbose #162 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:06 verbose #163 > > #endif
00:00:06 verbose #164 > > type ActionFn<'T> = class end
00:00:06 verbose #165 > > #if FABLE_COMPILER
00:00:06 verbose #166 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:06 verbose #167 > > #endif
00:00:06 verbose #168 > > type ActionFn2<'T, 'U> = class end
00:00:06 verbose #169 > > #if FABLE_COMPILER
00:00:06 verbose #170 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:06 verbose #171 > > #endif
00:00:06 verbose #172 > > type Impl<'T> = class end
00:00:06 verbose #173 > > #if FABLE_COMPILER
00:00:06 verbose #174 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:00:06 verbose #175 > > #endif
00:00:06 verbose #176 > > type Mut<'T> = class end
00:00:06 verbose #177 > > #if FABLE_COMPILER
00:00:06 verbose #178 > > [[<Fable.Core.Erase; Fable.Co...
00:00:07 verbose #179 > >
00:00:07 verbose #180 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #181 > > #if FABLE_COMPILER
00:00:07 verbose #182 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:00:07 verbose #183 > > #endif
00:00:07 verbose #184 > > type async_std_task_JoinHandle<'T> = class end
00:00:07 verbose #185 > > #if FABLE_COMPILER
00:00:07 verbose #186 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:00:07 verbose #187 > > #endif
00:00:07 verbose #188 > > type std_future_Future<'T> = class end
00:00:07 verbose #189 > > #if FABLE_COMPILER
00:00:07 verbose #190 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:00:07 verbose #191 > > #endif
00:00:07 verbose #192 > > type rayon_vec_IntoIter<'T> = class end
00:00:07 verbose #193 > > #if FABLE_COMPILER
00:00:07 verbose #194 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:00:07 verbose #195 > > #endif
00:00:07 verbose #196 > > type rayon_iter_Map<'T> = class end
00:00:07 verbose #197 > > #if FABLE_COMPILER
00:00:07 verbose #198 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:00:07 verbose #199 > > #endif
00:00:07 verbose #200 > > type futures_lite_stream_StreamExt = class end
00:00:07 verbose #201 > > #if FABLE_COMPILER
00:00:07 verbose #202 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:00:07 verbose #203 > > #endif
00:00:07 verbose #204 > > type futures_future_TryJoinAll<'T> = class end
00:00:07 verbose #205 > > #if FABLE_COMPILER
00:00:07 verbose #206 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:00:07 verbose #207 > > #endif
00:00:07 verbose #208 > > type futures_future_Fuse<'T> = class end
00:00:07 verbose #209 > > #if FABLE_COMPILER
00:00:07 verbose #210 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:00:07 verbose #211 > > #endif
00:00:07 verbose #212 > > type futures_future_JoinAll<'T> = class end
00:00:07 verbose #213 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:00:07 verbose #214 > > Async<System.Threading.CancellationToken> =
00:00:07 verbose #215 > > let v1 : bool = true
00:00:07 verbose #216 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:00:07 verbose #217 > >
00:00:07 verbose #218 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:07 verbose #219 > >
00:00:07 verbose #220 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:00:07 verbose #221 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:00:07 verbose #222 > > unbox<Async<System...
00:00:07 verbose #223 > >
00:00:07 verbose #224 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #225 > > #if FABLE_COMPILER
00:00:07 verbose #226 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:00:07 verbose #227 > > #endif
00:00:07 verbose #228 > > type std_thread_JoinHandle<'T> = class end
00:00:07 verbose #229 > > #if FABLE_COMPILER
00:00:07 verbose #230 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:00:07 verbose #231 > > #endif
00:00:07 verbose #232 > > type std_sync_Arc<'T> = class end
00:00:07 verbose #233 > > #if FABLE_COMPILER
00:00:07 verbose #234 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:00:07 verbose #235 > > #endif
00:00:07 verbose #236 > > type std_sync_Mutex<'T> = class end
00:00:07 verbose #237 > > #if FABLE_COMPILER
00:00:07 verbose #238 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:00:07 verbose #239 > > #endif
00:00:07 verbose #240 > > type std_sync_MutexGuard<'T> = class end
00:00:07 verbose #241 > > #if FABLE_COMPILER
00:00:07 verbose #242 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:00:07 verbose #243 > > #endif
00:00:07 verbose #244 > > type std_sync_PoisonError<'T> = class end
00:00:07 verbose #245 > > #if FABLE_COMPILER
00:00:07 verbose #246 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:00:07 verbose #247 > > #endif
00:00:07 verbose #248 > > type std_sync_mpsc_Receiver<'T> = class end
00:00:07 verbose #249 > > #if FABLE_COMPILER
00:00:07 verbose #250 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:00:07 verbose #251 > > #endif
00:00:07 verbose #252 > > type std_sync_mpsc_SendError<'T> = class end
00:00:07 verbose #253 > > #if FABLE_COMPILER
00:00:07 verbose #254 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:00:07 verbose #255 > > #endif
00:00:07 verbose #256 > > type std_sync_mpsc_Sender<'T> = class end
00:00:07 verbose #257 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:00:07 verbose #258 > > _.Dispose () = f ()
00:00:07 verbose #259 > > type [[<Struct>]] US0 =
00:00:07 verbose #260 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:00:07 verbose #261 > > | US0_1
00:00:07 verbose #262 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:00:07 verbose #263 > > let v1 : bool = true
00:00:07 verbose #264 > > let mutable _v1 : unit option = None
00:00:07 verbose #265 > >
00:00:07 verbose #266 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:07 verbose #267 > >
00:00:07 verbose #268 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:00:07 verbose #269 > >
00:00:07 verbose #270 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #271 > > #if FABLE_COMPILER
00:00:07 verbose #272 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:00:07 verbose #273 > > #endif
00:00:07 verbose #274 > > type reqwest_Error = class end
00:00:07 verbose #275 > > #if FABLE_COMPILER
00:00:07 verbose #276 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:00:07 verbose #277 > > #endif
00:00:07 verbose #278 > > type reqwest_RequestBuilder = class end
00:00:07 verbose #279 > > #if FABLE_COMPILER
00:00:07 verbose #280 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:00:07 verbose #281 > > #endif
00:00:07 verbose #282 > > type reqwest_Response = class end
00:00:07 verbose #283 > > #if FABLE_COMPILER
00:00:07 verbose #284 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:07 verbose #285 > > #endif
00:00:07 verbose #286 > > type std_env_VarError = class end
00:00:07 verbose #287 > > #if FABLE_COMPILER
00:00:07 verbose #288 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:07 verbose #289 > > #endif
00:00:07 verbose #290 > > type core_any_Any = class end
00:00:07 verbose #291 > > #if FABLE_COMPILER
00:00:07 verbose #292 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:07 verbose #293 > > #endif
00:00:07 verbose #294 > > type core_ops_Try<'T> = class end
00:00:07 verbose #295 > > #if FABLE_COMPILER
00:00:07 verbose #296 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:07 verbose #297 > > #endif
00:00:07 verbose #298 > > type Func0<'T> = class end
00:00:07 verbose #299 > > #if FABLE_COMPILER
00:00:07 verbose #300 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:07 verbose #301 > > #endif
00:00:07 verbose #302 > > type Func0<'T, 'U> = class end
00:00:07 verbose #303 > > #if FABLE_COMPILER
00:00:07 verbose #304 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:07 verbose #305 > > #endif
00:00:07 verbose #306 > > type Box<'T> = class end
00:00:07 verbose #307 > > #if FABLE_COMPILER
00:00:07 verbose #308 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:07 verbose #309 > > #endif
00:00:07 verbose #310 > > type Dyn<'T> = class end
00:00:07 verbose #311 > > #if FABLE_COMPILER
00:00:07 verbose #312 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:07 verbose #313 > > #endif
00:00:07 verbose #314 > > type Send<'T> = class end
00:00:07 verbose #315 > > #if FABLE_COMPILER
00:00:07 verbose #316 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:07 verbose #317 > > #endif
00:00:07 verbose #318 > > type Fn<'T> = class end
00:00:07 verbose #319 > > #if FABLE_COMPILER
00:00:07 verbose #320 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:07 verbose #321 > > #endif
00:00:07 verbose #322 > > type FnUnit = class end
00:00:07 verbose #323 > > #if FABLE_COMPILER
00:00:07 verbose #324 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:07 verbose #325 > > #...
00:00:09 verbose #326 > >
00:00:09 verbose #327 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:09 verbose #328 > > #if FABLE_COMPILER
00:00:09 verbose #329 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:00:09 verbose #330 > > #endif
00:00:09 verbose #331 > > type clap_Arg = class end
00:00:09 verbose #332 > > #if FABLE_COMPILER
00:00:09 verbose #333 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:00:09 verbose #334 > > #endif
00:00:09 verbose #335 > > type clap_ArgAction = class end
00:00:09 verbose #336 > > #if FABLE_COMPILER
00:00:09 verbose #337 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:00:09 verbose #338 > > #endif
00:00:09 verbose #339 > > type clap_Command = class end
00:00:09 verbose #340 > > #if FABLE_COMPILER
00:00:09 verbose #341 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:00:09 verbose #342 > > #endif
00:00:09 verbose #343 > > type clap_ArgMatches = class end
00:00:09 verbose #344 > > #if FABLE_COMPILER
00:00:09 verbose #345 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:00:09 verbose #346 > > #endif
00:00:09 verbose #347 > > type clap_builder_ValueRange = class end
00:00:09 verbose #348 > > #if FABLE_COMPILER
00:00:09 verbose #349 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:00:09 verbose #350 > > #endif
00:00:09 verbose #351 > > type clap_builder_ValueParser = class end
00:00:09 verbose #352 > > #if FABLE_COMPILER
00:00:09 verbose #353 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:00:09 verbose #354 > > #endif
00:00:09 verbose #355 > > type clap_builder_PossibleValue = class end
00:00:09 verbose #356 > > #if FABLE_COMPILER
00:00:09 verbose #357 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:00:09 verbose #358 > > #endif
00:00:09 verbose #359 > > type std_process_Child = class end
00:00:09 verbose #360 > > #if FABLE_COMPILER
00:00:09 verbose #361 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:00:09 verbose #362 > > #endif
00:00:09 verbose #363 > > type std_process_ChildStderr = class end
00:00:09 verbose #364 > > #if FABLE_COMPILER
00:00:09 verbose #365 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:00:09 verbose #366 > > #endif
00:00:09 verbose #367 > > type std_process_ChildStdout = class end
00:00:09 verbose #368 > > #if FABLE_COMPILER
00:00:09 verbose #369 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:00:09 verbose #370 > > #endif
00:00:09 verbose #371 > > type std_process_ChildStdin = class end
00:00:09 verbose #372 > > #if FABLE_COMPILER
00:00:09 verbose #373 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:00:09 verbose #374 > > #endif
00:00:09 verbose #375 > > type std_process_Command = class ...
00:00:10 verbose #376 > >
00:00:10 verbose #377 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 verbose #378 > > #if FABLE_COMPILER
00:00:10 verbose #379 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:00:10 verbose #380 > > #endif
00:00:10 verbose #381 > > type std_fs_File = class end
00:00:10 verbose #382 > > #if FABLE_COMPILER
00:00:10 verbose #383 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:00:10 verbose #384 > > #endif
00:00:10 verbose #385 > > type std_fs_FileType = class end
00:00:10 verbose #386 > > #if FABLE_COMPILER
00:00:10 verbose #387 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:00:10 verbose #388 > > #endif
00:00:10 verbose #389 > > type std_path_Display = class end
00:00:10 verbose #390 > > #if FABLE_COMPILER
00:00:10 verbose #391 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:00:10 verbose #392 > > #endif
00:00:10 verbose #393 > > type std_path_Path = class end
00:00:10 verbose #394 > > #if FABLE_COMPILER
00:00:10 verbose #395 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:00:10 verbose #396 > > #endif
00:00:10 verbose #397 > > type std_path_PathBuf = class end
00:00:10 verbose #398 > > #if FABLE_COMPILER
00:00:10 verbose #399 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:00:10 verbose #400 > > #endif
00:00:10 verbose #401 > > type async_walkdir_DirEntry = class end
00:00:10 verbose #402 > > #if FABLE_COMPILER
00:00:10 verbose #403 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:00:10 verbose #404 > > #endif
00:00:10 verbose #405 > > type async_walkdir_Filtering = class end
00:00:10 verbose #406 > > #if FABLE_COMPILER
00:00:10 verbose #407 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:00:10 verbose #408 > > #endif
00:00:10 verbose #409 > > type async_walkdir_WalkDir = class end
00:00:10 verbose #410 > > #if FABLE_COMPILER
00:00:10 verbose #411 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:10 verbose #412 > > #endif
00:00:10 verbose #413 > > type core_any_Any = class end
00:00:10 verbose #414 > > #if FABLE_COMPILER
00:00:10 verbose #415 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:10 verbose #416 > > #endif
00:00:10 verbose #417 > > type core_ops_Try<'T> = class end
00:00:10 verbose #418 > > #if FABLE_COMPILER
00:00:10 verbose #419 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:10 verbose #420 > > #endif
00:00:10 verbose #421 > > type Func0<'T> = class end
00:00:10 verbose #422 > > #if FABLE_COMPILER
00:00:10 verbose #423 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:10 verbose #424 > > #endif
00:00:10 verbose #425 > > type Func0<'T, 'U> = class end
00:00:10 verbose #426 > > #if FABLE_COMPILER
00:00:10 verbose #427 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:10 verbose #428 > > #endif
00:00:10 verbose #429 > > type Box<'T> = clas...
00:00:12 verbose #430 > >
00:00:12 verbose #431 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #432 > > module SpiralTrace =
00:00:12 verbose #433 > > let trace x =
00:00:12 verbose #434 > > #if !INTERACTIVE
00:00:12 verbose #435 > > Trace.trace x
00:00:12 verbose #436 > > #else
00:00:12 verbose #437 > > trace x
00:00:12 verbose #438 > > #endif
00:00:12 verbose #439 > >
00:00:12 verbose #440 > > type TraceLevel =
00:00:12 verbose #441 > > #if !INTERACTIVE
00:00:12 verbose #442 > > Trace.US0
00:00:12 verbose #443 > > #else
00:00:12 verbose #444 > > US0
00:00:12 verbose #445 > > #endif
00:00:12 verbose #446 > >
00:00:12 verbose #447 > > module SpiralCrypto =
00:00:12 verbose #448 > > let hash_text x =
00:00:12 verbose #449 > > #if !INTERACTIVE
00:00:12 verbose #450 > > Crypto.hash_text x
00:00:12 verbose #451 > > #else
00:00:12 verbose #452 > > hash_text x
00:00:12 verbose #453 > > #endif
00:00:12 verbose #454 > >
00:00:12 verbose #455 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:00:12 verbose #456 > >
00:00:12 verbose #457 > > module SpiralAsync =
00:00:12 verbose #458 > > let merge_cancellation_token_with_default_async x =
00:00:12 verbose #459 > > #if !INTERACTIVE
00:00:12 verbose #460 > > Async_.merge_cancellation_token_with_default_async x
00:00:12 verbose #461 > > #else
00:00:12 verbose #462 > > merge_cancellation_token_with_default_async x
00:00:12 verbose #463 > > #endif
00:00:12 verbose #464 > >
00:00:12 verbose #465 > > module SpiralThreading =
00:00:12 verbose #466 > > let new_disposable_token x =
00:00:12 verbose #467 > > #if !INTERACTIVE
00:00:12 verbose #468 > > Threading.new_disposable_token x
00:00:12 verbose #469 > > #else
00:00:12 verbose #470 > > new_disposable_token x
00:00:12 verbose #471 > > #endif
00:00:12 verbose #472 > >
00:00:12 verbose #473 > > module SpiralNetworking =
00:00:12 verbose #474 > > let test_port_open x =
00:00:12 verbose #475 > > #if !INTERACTIVE
00:00:12 verbose #476 > > Networking.test_port_open x
00:00:12 verbose #477 > > #else
00:00:12 verbose #478 > > test_port_open x
00:00:12 verbose #479 > > #endif
00:00:12 verbose #480 > >
00:00:12 verbose #481 > > let test_port_open_timeout x =
00:00:12 verbose #482 > > #if !INTERACTIVE
00:00:12 verbose #483 > > Networking.test_port_open_timeout x
00:00:12 verbose #484 > > #else
00:00:12 verbose #485 > > test_port_open_timeout x
00:00:12 verbose #486 > > #endif
00:00:12 verbose #487 > >
00:00:12 verbose #488 > > let wait_for_port_access x =
00:00:12 verbose #489 > > #if !INTERACTIVE
00:00:12 verbose #490 > > Networking.wait_for_port_access x
00:00:12 verbose #491 > > #else
00:00:12 verbose #492 > > wait_for_port_access x
00:00:12 verbose #493 > > #endif
00:00:12 verbose #494 > >
00:00:12 verbose #495 > > let get_available_port x =
00:00:12 verbose #496 > > #if !INTERACTIVE
00:00:12 verbose #497 > > Networking.get_available_port x
00:00:12 verbose #498 > > #else
00:00:12 verbose #499 > > get_available_port x
00:00:12 verbose #500 > > #endif
00:00:12 verbose #501 > >
00:00:12 verbose #502 > > module SpiralRuntime =
00:00:12 verbose #503 > > let get_executable_suffix () =
00:00:12 verbose #504 > > #if !INTERACTIVE
00:00:12 verbose #505 > > Runtime.get_executable_suffix ()
00:00:12 verbose #506 > > #else
00:00:12 verbose #507 > > get_executable_suffix ()
00:00:12 verbose #508 > > #endif
00:00:12 verbose #509 > >
00:00:12 verbose #510 > > let is_windows () =
00:00:12 verbose #511 > > #if !INTERACTIVE
00:00:12 verbose #512 > > ...
00:00:12 verbose #513 > >
00:00:12 verbose #514 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #515 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:00:12 verbose #516 > >
00:00:12 verbose #517 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #518 > > //// test
00:00:12 verbose #519 > >
00:00:12 verbose #520 > > type AssertExceptionFormatter (ex) =
00:00:12 verbose #521 > > member _.Text =
00:00:12 verbose #522 > > ex.ToString()
00:00:12 verbose #523 > > .Replace("32m", "<span style=\"color: green;\">")
00:00:12 verbose #524 > > .Replace("36m", "</span>")
00:00:12 verbose #525 > > .Replace("31m", "<span style=\"color: red;\">")
00:00:12 verbose #526 > > .Replace("\n", "<br/>\n")
00:00:12 verbose #527 > >
00:00:12 verbose #528 > >
00:00:12 verbose #529 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:00:12 verbose #530 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:00:12 verbose #531 > >
00:00:12 verbose #532 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #533 > > //// test
00:00:12 verbose #534 > >
00:00:12 verbose #535 > > let inline __expect fn log expected actual =
00:00:12 verbose #536 > > if log then printfn $"{actual.ToDisplayString ()}"
00:00:12 verbose #537 > > try
00:00:12 verbose #538 > > "Testing.__expect" |> fn actual expected
00:00:12 verbose #539 > > with :? Expecto.AssertException as ex ->
00:00:12 verbose #540 > > AssertExceptionFormatter(ex).Display () |> ignore
00:00:12 verbose #541 > > failwith (ex.GetType().FullName)
00:00:12 verbose #542 > >
00:00:12 verbose #543 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:00:12 verbose #544 > > expected actual
00:00:12 verbose #545 > > let inline _contains expected actual = __contains true expected actual
00:00:12 verbose #546 > >
00:00:12 verbose #547 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:00:12 verbose #548 > > expected actual
00:00:12 verbose #549 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:00:12 verbose #550 > >
00:00:12 verbose #551 > > let inline __isGreaterThan log expected actual = __expect
00:00:12 verbose #552 > > Expecto.Expect.isGreaterThan log expected actual
00:00:12 verbose #553 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:00:12 verbose #554 > >
00:00:12 verbose #555 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:00:12 verbose #556 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:00:12 verbose #557 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:00:12 verbose #558 > > expected actual
00:00:12 verbose #559 > >
00:00:12 verbose #560 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:00:12 verbose #561 > > log expected actual
00:00:12 verbose #562 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:00:12 verbose #563 > >
00:00:12 verbose #564 > > let inline __isLessThanOrEqual log expected actual = __expect
00:00:12 verbose #565 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:00:12 verbose #566 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:00:12 verbose #567 > > expected actual
00:00:12 verbose #568 > >
00:00:12 verbose #569 > > let inline __sequenceEqual log expected actual = __expe...
00:00:12 verbose #570 > >
00:00:12 verbose #571 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #572 > > //// test
00:00:12 verbose #573 > >
00:00:12 verbose #574 > > let inline __isBetween log a b actual =
00:00:12 verbose #575 > > let inline isBetween actual (a, b) _ =
00:00:12 verbose #576 > > __isGreaterThanOrEqual log a actual
00:00:12 verbose #577 > > __isLessThanOrEqual log b actual
00:00:12 verbose #578 > > __expect isBetween log (a, b) actual
00:00:12 verbose #579 > > let inline _isBetween a b actual = __isBetween true a b actual
00:00:12 verbose #580 > >
00:00:12 verbose #581 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #582 > > //// test
00:00:12 verbose #583 > >
00:00:12 verbose #584 > > open testing
00:00:12 verbose #585 > > open benchmark
00:00:12 verbose #586 > >
00:00:12 verbose #587 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #588 > > #r
00:00:12 verbose #589 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:12 verbose #590 > > Net.Interactive.Spiral.dll"
00:00:12 verbose #591 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:00:12 verbose #592 > > #r
00:00:12 verbose #593 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:12 verbose #594 > > Net.Interactive.dll"
00:00:12 verbose #595 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:14 verbose #596 > 00:00:13 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bd91374f36fe9d4f2485bb26dbb4f9f47a0ad9e55281ec44a36794d21b1673d7/main.spi
00:00:16 verbose #597 > >
00:00:16 verbose #598 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #599 > > #if !INTERACTIVE
00:00:16 verbose #600 > > open Lib
00:00:16 verbose #601 > > #endif
00:00:16 verbose #602 > >
00:00:16 verbose #603 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #604 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #605 > > │ ## TestCaseResult │
00:00:16 verbose #606 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #607 > >
00:00:16 verbose #608 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #609 > > type TestCaseResult =
00:00:16 verbose #610 > > {
00:00:16 verbose #611 > > Input: string
00:00:16 verbose #612 > > Expected: string
00:00:16 verbose #613 > > Result: string
00:00:16 verbose #614 > > TimeList: int64 list
00:00:16 verbose #615 > > }
00:00:16 verbose #616 > >
00:00:16 verbose #617 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #618 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #619 > > │ ## run │
00:00:16 verbose #620 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #621 > >
00:00:16 verbose #622 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #623 > > let run count (solutions: (string * ('TInput -> 'TExpected)) list) (input,
00:00:16 verbose #624 > > expected) =
00:00:16 verbose #625 > > let inputStr =
00:00:16 verbose #626 > > match box input with
00:00:16 verbose #627 > > | :? System.Collections.ICollection as input ->
00:00:16 verbose #628 > > System.Linq.Enumerable.Cast<obj> input
00:00:16 verbose #629 > > |> Seq.map string
00:00:16 verbose #630 > > |> SpiralSm.concat ","
00:00:16 verbose #631 > > | _ -> input.ToString ()
00:00:16 verbose #632 > >
00:00:16 verbose #633 > > printfn ""
00:00:16 verbose #634 > > printfn $"Solution: {inputStr} "
00:00:16 verbose #635 > >
00:00:16 verbose #636 > > let performanceInvoke (fn: unit -> 'T) =
00:00:16 verbose #637 > > GC.Collect ()
00:00:16 verbose #638 > > let stopwatch = System.Diagnostics.Stopwatch ()
00:00:16 verbose #639 > > stopwatch.Start ()
00:00:16 verbose #640 > > let time1 = stopwatch.ElapsedMilliseconds
00:00:16 verbose #641 > >
00:00:16 verbose #642 > > let result =
00:00:16 verbose #643 > > [[| 0 .. count |]]
00:00:16 verbose #644 > > |> Array.Parallel.map (fun _ ->
00:00:16 verbose #645 > > fn ()
00:00:16 verbose #646 > > )
00:00:16 verbose #647 > > |> Array.last
00:00:16 verbose #648 > >
00:00:16 verbose #649 > > let time2 = stopwatch.ElapsedMilliseconds - time1
00:00:16 verbose #650 > >
00:00:16 verbose #651 > > result, time2
00:00:16 verbose #652 > >
00:00:16 verbose #653 > > let resultsWithTime =
00:00:16 verbose #654 > > solutions
00:00:16 verbose #655 > > |> List.mapi (fun i (testName, solution) ->
00:00:16 verbose #656 > > let result, time = performanceInvoke (fun () -> solution input)
00:00:16 verbose #657 > > printfn $"Test case %d{i + 1}. %s{testName}. Time: %A{time} "
00:00:16 verbose #658 > > result, time
00:00:16 verbose #659 > > )
00:00:16 verbose #660 > >
00:00:16 verbose #661 > >
00:00:16 verbose #662 > > match resultsWithTime |> List.map fst with
00:00:16 verbose #663 > > | ([[]] | [[ _ ]]) -> ()
00:00:16 verbose #664 > > | (head :: tail) when tail |> List.forall ((=) head) -> ()
00:00:16 verbose #665 > > | results -> failwithf $"Challenge error: %A{results}"
00:00:16 verbose #666 > >
00:00:16 verbose #667 > > {
00:00:16 verbose #668 > > Input = inputStr
00:00:16 verbose #669 > > Expected = expected.ToString ()
00:00:16 verbose #670 > > Result = resultsWithTime |> Seq.map fst |> Seq.head |> _.ToString()
00:00:16 verbose #671 > > TimeList = resultsWithTime |> List.map snd
00:00:16 verbose #672 > > }
00:00:16 verbose #673 > >
00:00:16 verbose #674 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #675 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #676 > > │ ## runAll │
00:00:16 verbose #677 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #678 > >
00:00:16 verbose #679 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #680 > > let runAll testName count (solutions: (string * ('TInput -> 'TExpected)) list)
00:00:16 verbose #681 > > testCases =
00:00:16 verbose #682 > > printfn ""
00:00:16 verbose #683 > > printfn ""
00:00:16 verbose #684 > > printfn $"Test: {testName}"
00:00:16 verbose #685 > > testCases
00:00:16 verbose #686 > > |> Seq.map (run count solutions)
00:00:16 verbose #687 > > |> Seq.toList
00:00:16 verbose #688 > >
00:00:16 verbose #689 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #690 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #691 > > │ ## sortResultList │
00:00:16 verbose #692 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #693 > >
00:00:16 verbose #694 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #695 > > let sortResultList resultList =
00:00:16 verbose #696 > > let table =
00:00:16 verbose #697 > > let rows =
00:00:16 verbose #698 > > resultList
00:00:16 verbose #699 > > |> List.map (fun result ->
00:00:16 verbose #700 > > let best =
00:00:16 verbose #701 > > result.TimeList
00:00:16 verbose #702 > > |> List.mapi (fun i time ->
00:00:16 verbose #703 > > i + 1, time
00:00:16 verbose #704 > > )
00:00:16 verbose #705 > > |> List.sortBy snd
00:00:16 verbose #706 > > |> List.head
00:00:16 verbose #707 > > |> _.ToString()
00:00:16 verbose #708 > > let row =
00:00:16 verbose #709 > > [[
00:00:16 verbose #710 > > result.Input
00:00:16 verbose #711 > > result.Expected
00:00:16 verbose #712 > > result.Result
00:00:16 verbose #713 > > best
00:00:16 verbose #714 > > ]]
00:00:16 verbose #715 > > let color =
00:00:16 verbose #716 > > match result.Expected = result.Result with
00:00:16 verbose #717 > > | true -> Some ConsoleColor.DarkGreen
00:00:16 verbose #718 > > | false -> Some ConsoleColor.DarkRed
00:00:16 verbose #719 > > row, color
00:00:16 verbose #720 > > )
00:00:16 verbose #721 > > let header =
00:00:16 verbose #722 > > [[
00:00:16 verbose #723 > > [[
00:00:16 verbose #724 > > "Input"
00:00:16 verbose #725 > > "Expected"
00:00:16 verbose #726 > > "Result"
00:00:16 verbose #727 > > "Best"
00:00:16 verbose #728 > > ]]
00:00:16 verbose #729 > > [[
00:00:16 verbose #730 > > "---"
00:00:16 verbose #731 > > "---"
00:00:16 verbose #732 > > "---"
00:00:16 verbose #733 > > "---"
00:00:16 verbose #734 > > ]]
00:00:16 verbose #735 > > ]]
00:00:16 verbose #736 > > |> List.map (fun row -> row, None)
00:00:16 verbose #737 > > header @ rows
00:00:16 verbose #738 > >
00:00:16 verbose #739 > > let formattedTable =
00:00:16 verbose #740 > > let lengthMap =
00:00:16 verbose #741 > > table
00:00:16 verbose #742 > > |> List.map fst
00:00:16 verbose #743 > > |> List.transpose
00:00:16 verbose #744 > > |> List.map (fun column ->
00:00:16 verbose #745 > > column
00:00:16 verbose #746 > > |> List.map String.length
00:00:16 verbose #747 > > |> List.sortDescending
00:00:16 verbose #748 > > |> List.tryHead
00:00:16 verbose #749 > > |> Option.defaultValue 0
00:00:16 verbose #750 > > )
00:00:16 verbose #751 > > |> List.indexed
00:00:16 verbose #752 > > |> Map.ofList
00:00:16 verbose #753 > > table
00:00:16 verbose #754 > > |> List.map (fun (row, color) ->
00:00:16 verbose #755 > > let newRow =
00:00:16 verbose #756 > > row
00:00:16 verbose #757 > > |> List.mapi (fun i cell ->
00:00:16 verbose #758 > > cell.PadRight lengthMap.[[i]]
00:00:16 verbose #759 > > )
00:00:16 verbose #760 > > newRow, color
00:00:16 verbose #761 > > )
00:00:16 verbose #762 > >
00:00:16 verbose #763 > > printfn ""
00:00:16 verbose #764 > > formattedTable
00:00:16 verbose #765 > > |> List.iter (fun (row, color) ->
00:00:16 verbose #766 > > match color with
00:00:16 verbose #767 > > | Some color -> Console.ForegroundColor <- color
00:00:16 verbose #768 > > | None -> Console.ResetColor ()
00:00:16 verbose #769 > >
00:00:16 verbose #770 > > printfn "%s" (String.Join ("\t| ", row))
00:00:16 verbose #771 > >
00:00:16 verbose #772 > > Console.ResetColor ()
00:00:16 verbose #773 > > )
00:00:16 verbose #774 > >
00:00:16 verbose #775 > > let averages =
00:00:16 verbose #776 > > resultList
00:00:16 verbose #777 > > |> List.map (fun result -> result.TimeList |> List.map float)
00:00:16 verbose #778 > > |> List.transpose
00:00:16 verbose #779 > > |> List.map List.average
00:00:16 verbose #780 > > |> List.map int64
00:00:16 verbose #781 > > |> List.indexed
00:00:16 verbose #782 > >
00:00:16 verbose #783 > > printfn ""
00:00:16 verbose #784 > > printfn "Average Ranking "
00:00:16 verbose #785 > > averages
00:00:16 verbose #786 > > |> List.sortBy snd
00:00:16 verbose #787 > > |> List.iter (fun (i, avg) ->
00:00:16 verbose #788 > > printfn $"Test case %d{i + 1}. Average Time: %A{avg} "
00:00:16 verbose #789 > > )
00:00:16 verbose #790 > >
00:00:16 verbose #791 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #792 > > let mutable _count =
00:00:16 verbose #793 > > if ("CI" |> System.Environment.GetEnvironmentVariable |> fun x -> $"%A{x}")
00:00:16 verbose #794 > > <> "<null>"
00:00:16 verbose #795 > > then 2000000
00:00:16 verbose #796 > > else 2000
00:00:16 verbose #797 > >
00:00:16 verbose #798 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #799 > > inl is_fast () =
00:00:16 verbose #800 > > false
00:00:16 verbose #801 > 00:00:16 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4cbacd4ca3222a9a17de92ff713c804c3a6c7f796cb757239c581adb2d6bc99f/main.spi
00:00:16 verbose #802 > >
00:00:16 verbose #803 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #804 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #805 > > │ ## empty3Tests │
00:00:16 verbose #806 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #807 > >
00:00:16 verbose #808 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #809 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #810 > > │ Test: Empty3 │
00:00:16 verbose #811 > > │ │
00:00:16 verbose #812 > > │ Solution: (a, a) │
00:00:16 verbose #813 > > │ Test case 1. A. Time: 91L │
00:00:16 verbose #814 > > │ │
00:00:16 verbose #815 > > │ Solution: (a, a) │
00:00:16 verbose #816 > > │ Test case 1. A. Time: 56L │
00:00:16 verbose #817 > > │ │
00:00:16 verbose #818 > > │ Input | Expected | Result | Best │
00:00:16 verbose #819 > > │ --- | --- | --- | --- │
00:00:16 verbose #820 > > │ (a, a) | a | a | (1, 91) │
00:00:16 verbose #821 > > │ (a, a) | a | a | (1, 56) │
00:00:16 verbose #822 > > │ │
00:00:16 verbose #823 > > │ Averages │
00:00:16 verbose #824 > > │ Test case 1. Average Time: 73L │
00:00:16 verbose #825 > > │ │
00:00:16 verbose #826 > > │ Ranking │
00:00:16 verbose #827 > > │ Test case 1. Average Time: 73L │
00:00:16 verbose #828 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #829 > >
00:00:16 verbose #830 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #831 > > //// test
00:00:16 verbose #832 > >
00:00:16 verbose #833 > > let solutions = [[
00:00:16 verbose #834 > > "A",
00:00:16 verbose #835 > > fun (a, _b) ->
00:00:16 verbose #836 > > a
00:00:16 verbose #837 > > ]]
00:00:16 verbose #838 > > let testCases = seq {
00:00:16 verbose #839 > > ("a", "a"), "a"
00:00:16 verbose #840 > > ("a", "a"), "a"
00:00:16 verbose #841 > > }
00:00:16 verbose #842 > > let rec empty3Tests = runAll (nameof empty3Tests) _count solutions testCases
00:00:16 verbose #843 > > empty3Tests
00:00:16 verbose #844 > > |> sortResultList
00:00:17 verbose #845 > >
00:00:17 verbose #846 > > ╭─[ 381.19ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 verbose #847 > > │ │
00:00:17 verbose #848 > > │ │
00:00:17 verbose #849 > > │ Test: empty3Tests │
00:00:17 verbose #850 > > │ │
00:00:17 verbose #851 > > │ Solution: (a, a) │
00:00:17 verbose #852 > > │ Test case 1. A. Time: 26L │
00:00:17 verbose #853 > > │ │
00:00:17 verbose #854 > > │ Solution: (a, a) │
00:00:17 verbose #855 > > │ Test case 1. A. Time: 29L │
00:00:17 verbose #856 > > │ │
00:00:17 verbose #857 > > │ Input | Expected | Result | Best │
00:00:17 verbose #858 > > │ --- | --- | --- | --- │
00:00:17 verbose #859 > > │ (a, a) | a | a | (1, 26) │
00:00:17 verbose #860 > > │ (a, a) | a | a | (1, 29) │
00:00:17 verbose #861 > > │ │
00:00:17 verbose #862 > > │ Average Ranking │
00:00:17 verbose #863 > > │ Test case 1. Average Time: 27L │
00:00:17 verbose #864 > > │ │
00:00:17 verbose #865 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #866 > >
00:00:17 verbose #867 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #868 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #869 > > │ ## empty2Tests │
00:00:17 verbose #870 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #871 > >
00:00:17 verbose #872 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #873 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #874 > > │ Test: Empty2 │
00:00:17 verbose #875 > > │ │
00:00:17 verbose #876 > > │ Solution: (a, a) │
00:00:17 verbose #877 > > │ Test case 1. A. Time: 59L │
00:00:17 verbose #878 > > │ │
00:00:17 verbose #879 > > │ Solution: (a, a) │
00:00:17 verbose #880 > > │ Test case 1. A. Time: 53L │
00:00:17 verbose #881 > > │ │
00:00:17 verbose #882 > > │ Input | Expected | Result | Best │
00:00:17 verbose #883 > > │ --- | --- | --- | --- │
00:00:17 verbose #884 > > │ (a, a) | a | a | (1, 59) │
00:00:17 verbose #885 > > │ (a, a) | a | a | (1, 53) │
00:00:17 verbose #886 > > │ │
00:00:17 verbose #887 > > │ Averages │
00:00:17 verbose #888 > > │ Test case 1. Average Time: 56L │
00:00:17 verbose #889 > > │ │
00:00:17 verbose #890 > > │ Ranking │
00:00:17 verbose #891 > > │ Test case 1. Average Time: 56L │
00:00:17 verbose #892 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #893 > >
00:00:17 verbose #894 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #895 > > //// test
00:00:17 verbose #896 > >
00:00:17 verbose #897 > > let solutions = [[
00:00:17 verbose #898 > > "A",
00:00:17 verbose #899 > > fun (a, _b) ->
00:00:17 verbose #900 > > a
00:00:17 verbose #901 > > ]]
00:00:17 verbose #902 > > let testCases = seq {
00:00:17 verbose #903 > > ("a", "a"), "a"
00:00:17 verbose #904 > > ("a", "a"), "a"
00:00:17 verbose #905 > > }
00:00:17 verbose #906 > > let rec empty2Tests = runAll (nameof empty2Tests) _count solutions testCases
00:00:17 verbose #907 > > empty2Tests
00:00:17 verbose #908 > > |> sortResultList
00:00:17 verbose #909 > >
00:00:17 verbose #910 > > ╭─[ 373.43ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 verbose #911 > > │ │
00:00:17 verbose #912 > > │ │
00:00:17 verbose #913 > > │ Test: empty2Tests │
00:00:17 verbose #914 > > │ │
00:00:17 verbose #915 > > │ Solution: (a, a) │
00:00:17 verbose #916 > > │ Test case 1. A. Time: 23L │
00:00:17 verbose #917 > > │ │
00:00:17 verbose #918 > > │ Solution: (a, a) │
00:00:17 verbose #919 > > │ Test case 1. A. Time: 37L │
00:00:17 verbose #920 > > │ │
00:00:17 verbose #921 > > │ Input | Expected | Result | Best │
00:00:17 verbose #922 > > │ --- | --- | --- | --- │
00:00:17 verbose #923 > > │ (a, a) | a | a | (1, 23) │
00:00:17 verbose #924 > > │ (a, a) | a | a | (1, 37) │
00:00:17 verbose #925 > > │ │
00:00:17 verbose #926 > > │ Average Ranking │
00:00:17 verbose #927 > > │ Test case 1. Average Time: 30L │
00:00:17 verbose #928 > > │ │
00:00:17 verbose #929 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #930 > >
00:00:17 verbose #931 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #932 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #933 > > │ ## emptyTests │
00:00:17 verbose #934 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #935 > >
00:00:17 verbose #936 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #937 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #938 > > │ Test: Empty │
00:00:17 verbose #939 > > │ │
00:00:17 verbose #940 > > │ Solution: 0 │
00:00:17 verbose #941 > > │ Test case 1. A. Time: 61L │
00:00:17 verbose #942 > > │ │
00:00:17 verbose #943 > > │ Solution: 2 │
00:00:17 verbose #944 > > │ Test case 1. A. Time: 62L │
00:00:17 verbose #945 > > │ │
00:00:17 verbose #946 > > │ Solution: 5 │
00:00:17 verbose #947 > > │ Test case 1. A. Time: 70L │
00:00:17 verbose #948 > > │ │
00:00:17 verbose #949 > > │ Input | Expected | Result | Best │
00:00:17 verbose #950 > > │ --- | --- | --- | --- │
00:00:17 verbose #951 > > │ 0 | 0 | 0 | (1, 61) │
00:00:17 verbose #952 > > │ 2 | 2 | 2 | (1, 62) │
00:00:17 verbose #953 > > │ 5 | 5 | 5 | (1, 70) │
00:00:17 verbose #954 > > │ │
00:00:17 verbose #955 > > │ Averages │
00:00:17 verbose #956 > > │ Test case 1. Average Time: 64L │
00:00:17 verbose #957 > > │ │
00:00:17 verbose #958 > > │ Ranking │
00:00:17 verbose #959 > > │ Test case 1. Average Time: 64L │
00:00:17 verbose #960 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #961 > >
00:00:17 verbose #962 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #963 > > //// test
00:00:17 verbose #964 > >
00:00:17 verbose #965 > > let solutions = [[
00:00:17 verbose #966 > > "A",
00:00:17 verbose #967 > > fun n ->
00:00:17 verbose #968 > > n + 0
00:00:17 verbose #969 > > ]]
00:00:17 verbose #970 > > let testCases = seq {
00:00:17 verbose #971 > > 0, 0
00:00:17 verbose #972 > > 2, 2
00:00:17 verbose #973 > > 5, 5
00:00:17 verbose #974 > > }
00:00:17 verbose #975 > > let rec emptyTests = runAll (nameof emptyTests) _count solutions testCases
00:00:17 verbose #976 > > emptyTests
00:00:17 verbose #977 > > |> sortResultList
00:00:17 verbose #978 > >
00:00:17 verbose #979 > > ╭─[ 517.15ms - stdout ]────────────────────────────────────────────────────────╮
00:00:17 verbose #980 > > │ │
00:00:17 verbose #981 > > │ │
00:00:17 verbose #982 > > │ Test: emptyTests │
00:00:17 verbose #983 > > │ │
00:00:17 verbose #984 > > │ Solution: 0 │
00:00:17 verbose #985 > > │ Test case 1. A. Time: 25L │
00:00:17 verbose #986 > > │ │
00:00:17 verbose #987 > > │ Solution: 2 │
00:00:17 verbose #988 > > │ Test case 1. A. Time: 26L │
00:00:17 verbose #989 > > │ │
00:00:17 verbose #990 > > │ Solution: 5 │
00:00:17 verbose #991 > > │ Test case 1. A. Time: 16L │
00:00:17 verbose #992 > > │ │
00:00:17 verbose #993 > > │ Input | Expected | Result | Best │
00:00:17 verbose #994 > > │ --- | --- | --- | --- │
00:00:17 verbose #995 > > │ 0 | 0 | 0 | (1, 25) │
00:00:17 verbose #996 > > │ 2 | 2 | 2 | (1, 26) │
00:00:17 verbose #997 > > │ 5 | 5 | 5 | (1, 16) │
00:00:17 verbose #998 > > │ │
00:00:17 verbose #999 > > │ Average Ranking │
00:00:17 verbose #1000 > > │ Test case 1. Average Time: 22L │
00:00:17 verbose #1001 > > │ │
00:00:17 verbose #1002 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #1003 > >
00:00:17 verbose #1004 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #1005 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #1006 > > │ ## uniqueLettersTests │
00:00:17 verbose #1007 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #1008 > >
00:00:17 verbose #1009 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #1010 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #1011 > > │ Test: UniqueLetters │
00:00:17 verbose #1012 > > │ │
00:00:17 verbose #1013 > > │ Solution: abc │
00:00:17 verbose #1014 > > │ Test case 1. A. Time: 1512L │
00:00:17 verbose #1015 > > │ Test case 2. B. Time: 1947L │
00:00:17 verbose #1016 > > │ Test case 3. C. Time: 2023L │
00:00:17 verbose #1017 > > │ Test case 4. D. Time: 1358L │
00:00:17 verbose #1018 > > │ Test case 5. E. Time: 1321L │
00:00:17 verbose #1019 > > │ Test case 6. F. Time: 1346L │
00:00:17 verbose #1020 > > │ Test case 7. G. Time: 1304L │
00:00:17 verbose #1021 > > │ Test case 8. H. Time: 1383L │
00:00:17 verbose #1022 > > │ Test case 9. I. Time: 1495L │
00:00:17 verbose #1023 > > │ Test case 10. J. Time: 1245L │
00:00:17 verbose #1024 > > │ Test case 11. K. Time: 1219L │
00:00:17 verbose #1025 > > │ │
00:00:17 verbose #1026 > > │ Solution: accabb │
00:00:17 verbose #1027 > > │ Test case 1. A. Time: 1648L │
00:00:17 verbose #1028 > > │ Test case 2. B. Time: 2061L │
00:00:17 verbose #1029 > > │ Test case 3. C. Time: 2413L │
00:00:17 verbose #1030 > > │ Test case 4. D. Time: 1561L │
00:00:17 verbose #1031 > > │ Test case 5. E. Time: 1593L │
00:00:17 verbose #1032 > > │ Test case 6. F. Time: 1518L │
00:00:17 verbose #1033 > > │ Test case 7. G. Time: 1415L │
00:00:17 verbose #1034 > > │ Test case 8. H. Time: 1510L │
00:00:17 verbose #1035 > > │ Test case 9. I. Time: 1445L │
00:00:17 verbose #1036 > > │ Test case 10. J. Time: 1636L │
00:00:17 verbose #1037 > > │ Test case 11. K. Time: 1317L │
00:00:17 verbose #1038 > > │ │
00:00:17 verbose #1039 > > │ Solution: pprrqqpp │
00:00:17 verbose #1040 > > │ Test case 1. A. Time: 2255L │
00:00:17 verbose #1041 > > │ Test case 2. B. Time: 2408L │
00:00:17 verbose #1042 > > │ Test case 3. C. Time: 2393L │
00:00:17 verbose #1043 > > │ Test case 4. D. Time: 1675L │
00:00:17 verbose #1044 > > │ Test case 5. E. Time: 1911L │
00:00:17 verbose #1045 > > │ Test case 6. F. Time: 2126L │
00:00:17 verbose #1046 > > │ Test case 7. G. Time: 1504L │
00:00:17 verbose #1047 > > │ Test case 8. H. Time: 1715L │
00:00:17 verbose #1048 > > │ Test case 9. I. Time: 1537L │
00:00:17 verbose #1049 > > │ Test case 10. J. Time: 1522L │
00:00:17 verbose #1050 > > │ Test case 11. K. Time: 1322L │
00:00:17 verbose #1051 > > │ │
00:00:17 verbose #1052 > > │ Solution: │
00:00:17 verbose #1053 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:00:17 verbose #1054 > > │ bbb │
00:00:17 verbose #1055 > > │ Test case 1. A. Time: 13073L │
00:00:17 verbose #1056 > > │ Test case 2. B. Time: 11519L │
00:00:17 verbose #1057 > > │ Test case 3. C. Time: 8373L │
00:00:17 verbose #1058 > > │ Test case 4. D. Time: 5860L │
00:00:17 verbose #1059 > > │ Test case 5. E. Time: 6490L │
00:00:17 verbose #1060 > > │ Test case 6. F. Time: 6325L │
00:00:17 verbose #1061 > > │ Test case 7. G. Time: 5799L │
00:00:17 verbose #1062 > > │ Test case 8. H. Time: 7099L │
00:00:17 verbose #1063 > > │ Test case 9. I. Time: 6133L │
00:00:17 verbose #1064 > > │ Test case 10. J. Time: 5993L │
00:00:17 verbose #1065 > > │ Test case 11. K. Time: 2040L │
00:00:17 verbose #1066 > > │ │
00:00:17 verbose #1067 > > │ Input │
00:00:17 verbose #1068 > > │ | Expected | Result | Best │
00:00:17 verbose #1069 > > │ --- │
00:00:17 verbose #1070 > > │ │
00:00:17 verbose #1071 > > │ | --- | --- | --- │
00:00:17 verbose #1072 > > │ abc │
00:00:17 verbose #1073 > > │ │
00:00:17 verbose #1074 > > │ | abc | abc | (11, 1219) │
00:00:17 verbose #1075 > > │ accabb │
00:00:17 verbose #1076 > > │ | acb | acb | (11, 1317) │
00:00:17 verbose #1077 > > │ pprrqqpp │
00:00:17 verbose #1078 > > │ | prq | prq | (11, 1322) │
00:00:17 verbose #1079 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:00:17 verbose #1080 > > │ bbb | acb | acb | (11, 2040) │
00:00:17 verbose #1081 > > │ │
00:00:17 verbose #1082 > > │ Averages │
00:00:17 verbose #1083 > > │ Test case 1. Average Time: 4622L │
00:00:17 verbose #1084 > > │ Test case 2. Average Time: 4483L │
00:00:17 verbose #1085 > > │ Test case 3. Average Time: 3800L │
00:00:17 verbose #1086 > > │ Test case 4. Average Time: 2613L │
00:00:17 verbose #1087 > > │ Test case 5. Average Time: 2828L │
00:00:17 verbose #1088 > > │ Test case 6. Average Time: 2828L │
00:00:17 verbose #1089 > > │ Test case 7. Average Time: 2505L │
00:00:17 verbose #1090 > > │ Test case 8. Average Time: 2926L │
00:00:17 verbose #1091 > > │ Test case 9. Average Time: 2652L │
00:00:17 verbose #1092 > > │ Test case 10. Average Time: 2599L │
00:00:17 verbose #1093 > > │ Test case 11. Average Time: 1474L │
00:00:17 verbose #1094 > > │ │
00:00:17 verbose #1095 > > │ Ranking │
00:00:17 verbose #1096 > > │ Test case 1. Average Time: 4622L │
00:00:17 verbose #1097 > > │ Test case 2. Average Time: 4483L │
00:00:17 verbose #1098 > > │ Test case 3. Average Time: 3800L │
00:00:17 verbose #1099 > > │ Test case 8. Average Time: 2926L │
00:00:17 verbose #1100 > > │ Test case 5. Average Time: 2828L │
00:00:17 verbose #1101 > > │ Test case 6. Average Time: 2828L │
00:00:17 verbose #1102 > > │ Test case 9. Average Time: 2652L │
00:00:17 verbose #1103 > > │ Test case 4. Average Time: 2613L │
00:00:17 verbose #1104 > > │ Test case 10. Average Time: 2599L │
00:00:17 verbose #1105 > > │ Test case 7. Average Time: 2505L │
00:00:17 verbose #1106 > > │ Test case 11. Average Time: 1474L │
00:00:17 verbose #1107 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #1108 > >
00:00:17 verbose #1109 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #1110 > > //// test
00:00:17 verbose #1111 > >
00:00:17 verbose #1112 > > let solutions = [[
00:00:17 verbose #1113 > > "A",
00:00:17 verbose #1114 > > fun input ->
00:00:17 verbose #1115 > > input
00:00:17 verbose #1116 > > |> Seq.toList
00:00:17 verbose #1117 > > |> List.fold (fun acc x -> if List.contains x acc then acc else acc @ [[
00:00:17 verbose #1118 > > x ]]) [[]]
00:00:17 verbose #1119 > > |> Seq.toArray
00:00:17 verbose #1120 > > |> String
00:00:17 verbose #1121 > >
00:00:17 verbose #1122 > > "B",
00:00:17 verbose #1123 > > fun input ->
00:00:17 verbose #1124 > > input
00:00:17 verbose #1125 > > |> Seq.rev
00:00:17 verbose #1126 > > |> fun list -> Seq.foldBack (fun x acc -> if List.contains x acc then
00:00:17 verbose #1127 > > acc else x :: acc) list [[]]
00:00:17 verbose #1128 > > |> Seq.rev
00:00:17 verbose #1129 > > |> Seq.toArray
00:00:17 verbose #1130 > > |> String
00:00:17 verbose #1131 > >
00:00:17 verbose #1132 > > "C",
00:00:17 verbose #1133 > > fun input ->
00:00:17 verbose #1134 > > input
00:00:17 verbose #1135 > > |> Seq.rev
00:00:17 verbose #1136 > > |> fun list -> Seq.foldBack (fun x (set, acc) -> if Set.contains x set
00:00:17 verbose #1137 > > then set, acc else set.Add x, x :: acc) list (Set.empty, [[]])
00:00:17 verbose #1138 > > |> snd
00:00:17 verbose #1139 > > |> Seq.rev
00:00:17 verbose #1140 > > |> Seq.toArray
00:00:17 verbose #1141 > > |> String
00:00:17 verbose #1142 > >
00:00:17 verbose #1143 > > "D",
00:00:17 verbose #1144 > > fun input ->
00:00:17 verbose #1145 > > input
00:00:17 verbose #1146 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:17 verbose #1147 > > else set.Add x, Array.append acc [[| x |]]) (Set.empty, [[||]])
00:00:17 verbose #1148 > > |> snd
00:00:17 verbose #1149 > > |> String
00:00:17 verbose #1150 > >
00:00:17 verbose #1151 > > "E",
00:00:17 verbose #1152 > > fun input ->
00:00:17 verbose #1153 > > input
00:00:17 verbose #1154 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:17 verbose #1155 > > else set.Add x, x :: acc) (Set.empty, [[]])
00:00:17 verbose #1156 > > |> snd
00:00:17 verbose #1157 > > |> List.rev
00:00:17 verbose #1158 > > |> List.toArray
00:00:17 verbose #1159 > > |> String
00:00:17 verbose #1160 > >
00:00:17 verbose #1161 > > "F",
00:00:17 verbose #1162 > > fun input ->
00:00:17 verbose #1163 > > input
00:00:17 verbose #1164 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:17 verbose #1165 > > else set.Add x, acc @ [[ x ]]) (Set.empty, [[]])
00:00:17 verbose #1166 > > |> snd
00:00:17 verbose #1167 > > |> List.toArray
00:00:17 verbose #1168 > > |> String
00:00:17 verbose #1169 > >
00:00:17 verbose #1170 > > "G",
00:00:17 verbose #1171 > > fun input ->
00:00:17 verbose #1172 > > input
00:00:17 verbose #1173 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc
00:00:17 verbose #1174 > > else set.Add x, x :: acc) (Set.empty, [[]])
00:00:17 verbose #1175 > > |> snd
00:00:17 verbose #1176 > > |> List.toArray
00:00:17 verbose #1177 > > |> Array.rev
00:00:17 verbose #1178 > > |> String
00:00:17 verbose #1179 > >
00:00:17 verbose #1180 > > "H",
00:00:17 verbose #1181 > > fun input ->
00:00:17 verbose #1182 > > input
00:00:17 verbose #1183 > > |> Seq.toList
00:00:17 verbose #1184 > > |> fun list ->
00:00:17 verbose #1185 > > let rec loop set = function
00:00:17 verbose #1186 > > | head :: tail when Set.contains head set -> loop set tail
00:00:17 verbose #1187 > > | head :: tail -> (loop (set.Add head) tail) @ [[ head ]]
00:00:17 verbose #1188 > > | [[]] -> [[]]
00:00:17 verbose #1189 > > loop Set.empty list
00:00:17 verbose #1190 > > |> List.rev
00:00:17 verbose #1191 > > |> List.toArray
00:00:17 verbose #1192 > > |> String
00:00:17 verbose #1193 > >
00:00:17 verbose #1194 > > "I",
00:00:17 verbose #1195 > > fun input ->
00:00:17 verbose #1196 > > input
00:00:17 verbose #1197 > > |> Seq.toList
00:00:17 verbose #1198 > > |> fun list ->
00:00:17 verbose #1199 > > let rec loop set = function
00:00:17 verbose #1200 > > | head :: tail when Set.contains head set -> loop set tail
00:00:17 verbose #1201 > > | head :: tail -> loop (set.Add head) tail |> Array.append [[|
00:00:17 verbose #1202 > > head |]]
00:00:17 verbose #1203 > > | [[]] -> [[||]]
00:00:17 verbose #1204 > > loop Set.empty list
00:00:17 verbose #1205 > > |> String
00:00:17 verbose #1206 > >
00:00:17 verbose #1207 > > "J",
00:00:17 verbose #1208 > > fun input ->
00:00:17 verbose #1209 > > input
00:00:17 verbose #1210 > > |> Seq.toList
00:00:17 verbose #1211 > > |> fun list ->
00:00:17 verbose #1212 > > let rec loop set = function
00:00:17 verbose #1213 > > | head :: tail when Set.contains head set -> loop set tail
00:00:17 verbose #1214 > > | head :: tail -> head :: loop (set.Add head) tail
00:00:17 verbose #1215 > > | [[]] -> [[]]
00:00:17 verbose #1216 > > loop Set.empty list
00:00:17 verbose #1217 > > |> List.toArray
00:00:17 verbose #1218 > > |> String
00:00:17 verbose #1219 > >
00:00:17 verbose #1220 > > "K",
00:00:17 verbose #1221 > > fun input ->
00:00:17 verbose #1222 > > input
00:00:17 verbose #1223 > > |> Seq.distinct
00:00:17 verbose #1224 > > |> Seq.toArray
00:00:17 verbose #1225 > > |> String
00:00:17 verbose #1226 > > ]]
00:00:17 verbose #1227 > > let testCases = seq {
00:00:17 verbose #1228 > > "abc", "abc"
00:00:17 verbose #1229 > > "accabb", "acb"
00:00:17 verbose #1230 > > "pprrqqpp", "prq"
00:00:17 verbose #1231 > >
00:00:17 verbose #1232 > > "aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbbbbb
00:00:17 verbose #1233 > > ", "acb"
00:00:17 verbose #1234 > > }
00:00:17 verbose #1235 > > let rec uniqueLettersTests = runAll (nameof uniqueLettersTests) _count solutions
00:00:17 verbose #1236 > > testCases
00:00:17 verbose #1237 > > uniqueLettersTests
00:00:17 verbose #1238 > > |> sortResultList
00:01:35 verbose #1239 > >
00:01:35 verbose #1240 > > ╭─[ 1.29m - stdout ]───────────────────────────────────────────────────────────╮
00:01:35 verbose #1241 > > │ │
00:01:35 verbose #1242 > > │ │
00:01:35 verbose #1243 > > │ Test: uniqueLettersTests │
00:01:35 verbose #1244 > > │ │
00:01:35 verbose #1245 > > │ Solution: abc │
00:01:35 verbose #1246 > > │ Test case 1. A. Time: 1154L │
00:01:35 verbose #1247 > > │ Test case 2. B. Time: 1719L │
00:01:35 verbose #1248 > > │ Test case 3. C. Time: 2027L │
00:01:35 verbose #1249 > > │ Test case 4. D. Time: 1302L │
00:01:35 verbose #1250 > > │ Test case 5. E. Time: 1322L │
00:01:35 verbose #1251 > > │ Test case 6. F. Time: 1338L │
00:01:35 verbose #1252 > > │ Test case 7. G. Time: 1343L │
00:01:35 verbose #1253 > > │ Test case 8. H. Time: 1359L │
00:01:35 verbose #1254 > > │ Test case 9. I. Time: 1191L │
00:01:35 verbose #1255 > > │ Test case 10. J. Time: 1304L │
00:01:35 verbose #1256 > > │ Test case 11. K. Time: 1089L │
00:01:35 verbose #1257 > > │ │
00:01:35 verbose #1258 > > │ Solution: accabb │
00:01:35 verbose #1259 > > │ Test case 1. A. Time: 1417L │
00:01:35 verbose #1260 > > │ Test case 2. B. Time: 1852L │
00:01:35 verbose #1261 > > │ Test case 3. C. Time: 1451L │
00:01:35 verbose #1262 > > │ Test case 4. D. Time: 959L │
00:01:35 verbose #1263 > > │ Test case 5. E. Time: 1008L │
00:01:35 verbose #1264 > > │ Test case 6. F. Time: 1010L │
00:01:35 verbose #1265 > > │ Test case 7. G. Time: 1003L │
00:01:35 verbose #1266 > > │ Test case 8. H. Time: 1059L │
00:01:35 verbose #1267 > > │ Test case 9. I. Time: 1038L │
00:01:35 verbose #1268 > > │ Test case 10. J. Time: 924L │
00:01:35 verbose #1269 > > │ Test case 11. K. Time: 884L │
00:01:35 verbose #1270 > > │ │
00:01:35 verbose #1271 > > │ Solution: pprrqqpp │
00:01:35 verbose #1272 > > │ Test case 1. A. Time: 985L │
00:01:35 verbose #1273 > > │ Test case 2. B. Time: 1049L │
00:01:35 verbose #1274 > > │ Test case 3. C. Time: 1448L │
00:01:35 verbose #1275 > > │ Test case 4. D. Time: 1081L │
00:01:35 verbose #1276 > > │ Test case 5. E. Time: 1083L │
00:01:35 verbose #1277 > > │ Test case 6. F. Time: 1076L │
00:01:35 verbose #1278 > > │ Test case 7. G. Time: 1032L │
00:01:35 verbose #1279 > > │ Test case 8. H. Time: 1089L │
00:01:35 verbose #1280 > > │ Test case 9. I. Time: 1034L │
00:01:35 verbose #1281 > > │ Test case 10. J. Time: 990L │
00:01:35 verbose #1282 > > │ Test case 11. K. Time: 829L │
00:01:35 verbose #1283 > > │ │
00:01:35 verbose #1284 > > │ Solution: │
00:01:35 verbose #1285 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:01:35 verbose #1286 > > │ bbb │
00:01:35 verbose #1287 > > │ Test case 1. A. Time: 2457L │
00:01:35 verbose #1288 > > │ Test case 2. B. Time: 2432L │
00:01:35 verbose #1289 > > │ Test case 3. C. Time: 3983L │
00:01:35 verbose #1290 > > │ Test case 4. D. Time: 2625L │
00:01:35 verbose #1291 > > │ Test case 5. E. Time: 2596L │
00:01:35 verbose #1292 > > │ Test case 6. F. Time: 2676L │
00:01:35 verbose #1293 > > │ Test case 7. G. Time: 2595L │
00:01:35 verbose #1294 > > │ Test case 8. H. Time: 2695L │
00:01:35 verbose #1295 > > │ Test case 9. I. Time: 2597L │
00:01:35 verbose #1296 > > │ Test case 10. J. Time: 2543L │
00:01:35 verbose #1297 > > │ Test case 11. K. Time: 1333L │
00:01:35 verbose #1298 > > │ │
00:01:35 verbose #1299 > > │ Input │
00:01:35 verbose #1300 > > │ | Expected | Result | Best │
00:01:35 verbose #1301 > > │ --- │
00:01:35 verbose #1302 > > │ | --- | --- | --- │
00:01:35 verbose #1303 > > │ abc │
00:01:35 verbose #1304 > > │ | abc | abc | (11, 1089) │
00:01:35 verbose #1305 > > │ accabb │
00:01:35 verbose #1306 > > │ | acb | acb | (11, 884) │
00:01:35 verbose #1307 > > │ pprrqqpp │
00:01:35 verbose #1308 > > │ | prq | prq | (11, 829) │
00:01:35 verbose #1309 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │
00:01:35 verbose #1310 > > │ bbb | acb | acb | (11, 1333) │
00:01:35 verbose #1311 > > │ │
00:01:35 verbose #1312 > > │ Average Ranking │
00:01:35 verbose #1313 > > │ Test case 11. Average Time: 1033L │
00:01:35 verbose #1314 > > │ Test case 10. Average Time: 1440L │
00:01:35 verbose #1315 > > │ Test case 9. Average Time: 1465L │
00:01:35 verbose #1316 > > │ Test case 4. Average Time: 1491L │
00:01:35 verbose #1317 > > │ Test case 7. Average Time: 1493L │
00:01:35 verbose #1318 > > │ Test case 5. Average Time: 1502L │
00:01:35 verbose #1319 > > │ Test case 1. Average Time: 1503L │
00:01:35 verbose #1320 > > │ Test case 6. Average Time: 1525L │
00:01:35 verbose #1321 > > │ Test case 8. Average Time: 1550L │
00:01:35 verbose #1322 > > │ Test case 2. Average Time: 1763L │
00:01:35 verbose #1323 > > │ Test case 3. Average Time: 2227L │
00:01:35 verbose #1324 > > │ │
00:01:35 verbose #1325 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #1326 > >
00:01:35 verbose #1327 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #1328 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #1329 > > │ ## rotateStringsTests │
00:01:35 verbose #1330 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #1331 > >
00:01:35 verbose #1332 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #1333 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #1334 > > │ https://www.hackerrank.com/challenges/rotate-string/forum │
00:01:35 verbose #1335 > > │ │
00:01:35 verbose #1336 > > │ Test: RotateStrings │
00:01:35 verbose #1337 > > │ │
00:01:35 verbose #1338 > > │ Solution: abc │
00:01:35 verbose #1339 > > │ Test case 1. A. Time: 1842L │
00:01:35 verbose #1340 > > │ Test case 2. B. Time: 1846L │
00:01:35 verbose #1341 > > │ Test case 3. C. Time: 1936L │
00:01:35 verbose #1342 > > │ Test case 4. CA. Time: 2224L │
00:01:35 verbose #1343 > > │ Test case 5. CB. Time: 2329L │
00:01:35 verbose #1344 > > │ Test case 6. D. Time: 2474L │
00:01:35 verbose #1345 > > │ Test case 7. E. Time: 1664L │
00:01:35 verbose #1346 > > │ Test case 8. F. Time: 1517L │
00:01:35 verbose #1347 > > │ Test case 9. FA. Time: 1651L │
00:01:35 verbose #1348 > > │ Test case 10. FB. Time: 3764L │
00:01:35 verbose #1349 > > │ Test case 11. FC. Time: 5415L │
00:01:35 verbose #1350 > > │ │
00:01:35 verbose #1351 > > │ Solution: abcde │
00:01:35 verbose #1352 > > │ Test case 1. A. Time: 3356L │
00:01:35 verbose #1353 > > │ Test case 2. B. Time: 2592L │
00:01:35 verbose #1354 > > │ Test case 3. C. Time: 2346L │
00:01:35 verbose #1355 > > │ Test case 4. CA. Time: 2997L │
00:01:35 verbose #1356 > > │ Test case 5. CB. Time: 3061L │
00:01:35 verbose #1357 > > │ Test case 6. D. Time: 4051L │
00:01:35 verbose #1358 > > │ Test case 7. E. Time: 1905L │
00:01:35 verbose #1359 > > │ Test case 8. F. Time: 1771L │
00:01:35 verbose #1360 > > │ Test case 9. FA. Time: 2175L │
00:01:35 verbose #1361 > > │ Test case 10. FB. Time: 3275L │
00:01:35 verbose #1362 > > │ Test case 11. FC. Time: 5266L │
00:01:35 verbose #1363 > > │ │
00:01:35 verbose #1364 > > │ Solution: abcdefghi │
00:01:35 verbose #1365 > > │ Test case 1. A. Time: 4492L │
00:01:35 verbose #1366 > > │ Test case 2. B. Time: 3526L │
00:01:35 verbose #1367 > > │ Test case 3. C. Time: 3583L │
00:01:35 verbose #1368 > > │ Test case 4. CA. Time: 3711L │
00:01:35 verbose #1369 > > │ Test case 5. CB. Time: 4783L │
00:01:35 verbose #1370 > > │ Test case 6. D. Time: 7557L │
00:01:35 verbose #1371 > > │ Test case 7. E. Time: 3452L │
00:01:35 verbose #1372 > > │ Test case 8. F. Time: 3050L │
00:01:35 verbose #1373 > > │ Test case 9. FA. Time: 3275L │
00:01:35 verbose #1374 > > │ Test case 10. FB. Time: 4635L │
00:01:35 verbose #1375 > > │ Test case 11. FC. Time: 5616L │
00:01:35 verbose #1376 > > │ │
00:01:35 verbose #1377 > > │ Solution: abab │
00:01:35 verbose #1378 > > │ Test case 1. A. Time: 2093L │
00:01:35 verbose #1379 > > │ Test case 2. B. Time: 1843L │
00:01:35 verbose #1380 > > │ Test case 3. C. Time: 1746L │
00:01:35 verbose #1381 > > │ Test case 4. CA. Time: 2085L │
00:01:35 verbose #1382 > > │ Test case 5. CB. Time: 2139L │
00:01:35 verbose #1383 > > │ Test case 6. D. Time: 2095L │
00:01:35 verbose #1384 > > │ Test case 7. E. Time: 1723L │
00:01:35 verbose #1385 > > │ Test case 8. F. Time: 1558L │
00:01:35 verbose #1386 > > │ Test case 9. FA. Time: 1620L │
00:01:35 verbose #1387 > > │ Test case 10. FB. Time: 2319L │
00:01:35 verbose #1388 > > │ Test case 11. FC. Time: 3918L │
00:01:35 verbose #1389 > > │ │
00:01:35 verbose #1390 > > │ Solution: aa │
00:01:35 verbose #1391 > > │ Test case 1. A. Time: 1107L │
00:01:35 verbose #1392 > > │ Test case 2. B. Time: 1241L │
00:01:35 verbose #1393 > > │ Test case 3. C. Time: 1183L │
00:01:35 verbose #1394 > > │ Test case 4. CA. Time: 1563L │
00:01:35 verbose #1395 > > │ Test case 5. CB. Time: 1525L │
00:01:35 verbose #1396 > > │ Test case 6. D. Time: 1591L │
00:01:35 verbose #1397 > > │ Test case 7. E. Time: 1327L │
00:01:35 verbose #1398 > > │ Test case 8. F. Time: 1151L │
00:01:35 verbose #1399 > > │ Test case 9. FA. Time: 1180L │
00:01:35 verbose #1400 > > │ Test case 10. FB. Time: 1733L │
00:01:35 verbose #1401 > > │ Test case 11. FC. Time: 2817L │
00:01:35 verbose #1402 > > │ │
00:01:35 verbose #1403 > > │ Solution: z │
00:01:35 verbose #1404 > > │ Test case 1. A. Time: 816L │
00:01:35 verbose #1405 > > │ Test case 2. B. Time: 745L │
00:01:35 verbose #1406 > > │ Test case 3. C. Time: 928L │
00:01:35 verbose #1407 > > │ Test case 4. CA. Time: 1375L │
00:01:35 verbose #1408 > > │ Test case 5. CB. Time: 1029L │
00:01:35 verbose #1409 > > │ Test case 6. D. Time: 852L │
00:01:35 verbose #1410 > > │ Test case 7. E. Time: 712L │
00:01:35 verbose #1411 > > │ Test case 8. F. Time: 263L │
00:01:35 verbose #1412 > > │ Test case 9. FA. Time: 232L │
00:01:35 verbose #1413 > > │ Test case 10. FB. Time: 773L │
00:01:35 verbose #1414 > > │ Test case 11. FC. Time: 1789L │
00:01:35 verbose #1415 > > │ │
00:01:35 verbose #1416 > > │ Input | Expected │
00:01:35 verbose #1417 > > │ │
00:01:35 verbose #1418 > > │ | Result │
00:01:35 verbose #1419 > > │ │
00:01:35 verbose #1420 > > │ | Best │
00:01:35 verbose #1421 > > │ --- | --- │
00:01:35 verbose #1422 > > │ │
00:01:35 verbose #1423 > > │ | --- │
00:01:35 verbose #1424 > > │ │
00:01:35 verbose #1425 > > │ | --- │
00:01:35 verbose #1426 > > │ abc | bca cab abc │
00:01:35 verbose #1427 > > │ │
00:01:35 verbose #1428 > > │ | bca cab abc │
00:01:35 verbose #1429 > > │ │
00:01:35 verbose #1430 > > │ | (8, 1517) │
00:01:35 verbose #1431 > > │ abcde | bcdea cdeab deabc eabcd abcde │
00:01:35 verbose #1432 > > │ | bcdea cdeab deabc eabcd abcde │
00:01:35 verbose #1433 > > │ | (8, 1771) │
00:01:35 verbose #1434 > > │ abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd fghiabcde │
00:01:35 verbose #1435 > > │ ghiabcdef hiabcdefg iabcdefgh abcdefghi | bcdefghia cdefghiab │
00:01:35 verbose #1436 > > │ defghiabc efghiabcd fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi │
00:01:35 verbose #1437 > > │ | (8, 3050) │
00:01:35 verbose #1438 > > │ abab | baba abab baba abab │
00:01:35 verbose #1439 > > │ │
00:01:35 verbose #1440 > > │ | baba abab baba abab │
00:01:35 verbose #1441 > > │ │
00:01:35 verbose #1442 > > │ | (8, 1558) │
00:01:35 verbose #1443 > > │ aa | aa aa │
00:01:35 verbose #1444 > > │ │
00:01:35 verbose #1445 > > │ | aa aa │
00:01:35 verbose #1446 > > │ │
00:01:35 verbose #1447 > > │ | (1, 1107) │
00:01:35 verbose #1448 > > │ z | z │
00:01:35 verbose #1449 > > │ │
00:01:35 verbose #1450 > > │ | z │
00:01:35 verbose #1451 > > │ │
00:01:35 verbose #1452 > > │ | (9, 232) │
00:01:35 verbose #1453 > > │ │
00:01:35 verbose #1454 > > │ Averages │
00:01:35 verbose #1455 > > │ Test case 1. Average Time: 2284L │
00:01:35 verbose #1456 > > │ Test case 2. Average Time: 1965L │
00:01:35 verbose #1457 > > │ Test case 3. Average Time: 1953L │
00:01:35 verbose #1458 > > │ Test case 4. Average Time: 2325L │
00:01:35 verbose #1459 > > │ Test case 5. Average Time: 2477L │
00:01:35 verbose #1460 > > │ Test case 6. Average Time: 3103L │
00:01:35 verbose #1461 > > │ Test case 7. Average Time: 1797L │
00:01:35 verbose #1462 > > │ Test case 8. Average Time: 1551L │
00:01:35 verbose #1463 > > │ Test case 9. Average Time: 1688L │
00:01:35 verbose #1464 > > │ Test case 10. Average Time: 2749L │
00:01:35 verbose #1465 > > │ Test case 11. Average Time: 4136L │
00:01:35 verbose #1466 > > │ │
00:01:35 verbose #1467 > > │ Ranking │
00:01:35 verbose #1468 > > │ Test case 11. Average Time: 4136L │
00:01:35 verbose #1469 > > │ Test case 6. Average Time: 3103L │
00:01:35 verbose #1470 > > │ Test case 10. Average Time: 2749L │
00:01:35 verbose #1471 > > │ Test case 5. Average Time: 2477L │
00:01:35 verbose #1472 > > │ Test case 4. Average Time: 2325L │
00:01:35 verbose #1473 > > │ Test case 1. Average Time: 2284L │
00:01:35 verbose #1474 > > │ Test case 2. Average Time: 1965L │
00:01:35 verbose #1475 > > │ Test case 3. Average Time: 1953L │
00:01:35 verbose #1476 > > │ Test case 7. Average Time: 1797L │
00:01:35 verbose #1477 > > │ Test case 9. Average Time: 1688L │
00:01:35 verbose #1478 > > │ Test case 8. Average Time: 1551L │
00:01:35 verbose #1479 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #1480 > >
00:01:35 verbose #1481 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #1482 > > //// test
00:01:35 verbose #1483 > >
00:01:35 verbose #1484 > > let solutions = [[
00:01:35 verbose #1485 > > "A",
00:01:35 verbose #1486 > > fun (input: string) ->
00:01:35 verbose #1487 > > let resultList =
00:01:35 verbose #1488 > > List.fold (fun acc x ->
00:01:35 verbose #1489 > > let rotate (text: string) (letter: string) = (text |>
00:01:35 verbose #1490 > > SpiralSm.slice 1 (input.Length - 1)) + letter
00:01:35 verbose #1491 > > [[ rotate (if acc.IsEmpty then input else acc.Head) (string x)
00:01:35 verbose #1492 > > ]] @ acc
00:01:35 verbose #1493 > > ) [[]] (Seq.toList input)
00:01:35 verbose #1494 > >
00:01:35 verbose #1495 > > (resultList, "")
00:01:35 verbose #1496 > > ||> List.foldBack (fun acc x -> x + acc + " ")
00:01:35 verbose #1497 > > |> _.TrimEnd()
00:01:35 verbose #1498 > >
00:01:35 verbose #1499 > > "B",
00:01:35 verbose #1500 > > fun input ->
00:01:35 verbose #1501 > > input
00:01:35 verbose #1502 > > |> Seq.toList
00:01:35 verbose #1503 > > |> List.fold (fun (acc: string list) letter ->
00:01:35 verbose #1504 > > let last =
00:01:35 verbose #1505 > > if acc.IsEmpty
00:01:35 verbose #1506 > > then input
00:01:35 verbose #1507 > > else acc.Head
00:01:35 verbose #1508 > >
00:01:35 verbose #1509 > > let item = last.[[1 .. input.Length - 1]] + string letter
00:01:35 verbose #1510 > >
00:01:35 verbose #1511 > > item :: acc
00:01:35 verbose #1512 > > ) [[]]
00:01:35 verbose #1513 > > |> List.rev
00:01:35 verbose #1514 > > |> SpiralSm.concat " "
00:01:35 verbose #1515 > >
00:01:35 verbose #1516 > > "C",
00:01:35 verbose #1517 > > fun input ->
00:01:35 verbose #1518 > > input
00:01:35 verbose #1519 > > |> Seq.toList
00:01:35 verbose #1520 > > |> List.fold (fun (acc: string list) letter -> acc.Head.[[ 1 ..
00:01:35 verbose #1521 > > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:01:35 verbose #1522 > > |> List.rev
00:01:35 verbose #1523 > > |> List.skip 1
00:01:35 verbose #1524 > > |> SpiralSm.concat " "
00:01:35 verbose #1525 > >
00:01:35 verbose #1526 > > "CA",
00:01:35 verbose #1527 > > fun input ->
00:01:35 verbose #1528 > > input
00:01:35 verbose #1529 > > |> Seq.fold (fun (acc: string list) letter -> acc.Head.[[ 1 ..
00:01:35 verbose #1530 > > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:01:35 verbose #1531 > > |> Seq.rev
00:01:35 verbose #1532 > > |> Seq.skip 1
00:01:35 verbose #1533 > > |> SpiralSm.concat " "
00:01:35 verbose #1534 > >
00:01:35 verbose #1535 > > "CB",
00:01:35 verbose #1536 > > fun input ->
00:01:35 verbose #1537 > > input
00:01:35 verbose #1538 > > |> Seq.toArray
00:01:35 verbose #1539 > > |> Array.fold (fun (acc: string[[]]) letter -> acc |> Array.append [[|
00:01:35 verbose #1540 > > acc.[[0]].[[ 1 .. input.Length - 1 ]] + string letter |]]) [[| input |]]
00:01:35 verbose #1541 > > |> Array.rev
00:01:35 verbose #1542 > > |> Array.skip 1
00:01:35 verbose #1543 > > |> SpiralSm.concat " "
00:01:35 verbose #1544 > >
00:01:35 verbose #1545 > > "D",
00:01:35 verbose #1546 > > fun input ->
00:01:35 verbose #1547 > > input
00:01:35 verbose #1548 > > |> Seq.toList
00:01:35 verbose #1549 > > |> fun list ->
00:01:35 verbose #1550 > > let rec loop (acc: char list list) = function
00:01:35 verbose #1551 > > | _ when acc.Length = list.Length -> acc
00:01:35 verbose #1552 > > | head :: tail ->
00:01:35 verbose #1553 > > let item = tail @ [[ head ]]
00:01:35 verbose #1554 > > loop (item :: acc) item
00:01:35 verbose #1555 > > | [[]] -> [[]]
00:01:35 verbose #1556 > > loop [[]] list
00:01:35 verbose #1557 > > |> List.rev
00:01:35 verbose #1558 > > |> List.map (List.toArray >> String)
00:01:35 verbose #1559 > > |> SpiralSm.concat " "
00:01:35 verbose #1560 > >
00:01:35 verbose #1561 > > "E",
00:01:35 verbose #1562 > > fun input ->
00:01:35 verbose #1563 > > input
00:01:35 verbose #1564 > > |> Seq.toList
00:01:35 verbose #1565 > > |> fun list ->
00:01:35 verbose #1566 > > let rec loop (last: string) = function
00:01:35 verbose #1567 > > | head :: tail ->
00:01:35 verbose #1568 > > let item = last.[[1 .. input.Length - 1]] + string head
00:01:35 verbose #1569 > > item :: loop item tail
00:01:35 verbose #1570 > > | [[]] -> [[]]
00:01:35 verbose #1571 > > loop input list
00:01:35 verbose #1572 > > |> SpiralSm.concat " "
00:01:35 verbose #1573 > >
00:01:35 verbose #1574 > > "F",
00:01:35 verbose #1575 > > fun input ->
00:01:35 verbose #1576 > > Array.singleton 0
00:01:35 verbose #1577 > > |> Array.append [[| 1 .. input.Length - 1 |]]
00:01:35 verbose #1578 > > |> Array.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:01:35 verbose #1579 > > |> SpiralSm.concat " "
00:01:35 verbose #1580 > >
00:01:35 verbose #1581 > > "FA",
00:01:35 verbose #1582 > > fun input ->
00:01:35 verbose #1583 > > List.singleton 0
00:01:35 verbose #1584 > > |> List.append [[ 1 .. input.Length - 1 ]]
00:01:35 verbose #1585 > > |> List.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:01:35 verbose #1586 > > |> SpiralSm.concat " "
00:01:35 verbose #1587 > >
00:01:35 verbose #1588 > > "FB",
00:01:35 verbose #1589 > > fun input ->
00:01:35 verbose #1590 > > Seq.singleton 0
00:01:35 verbose #1591 > > |> Seq.append (seq { 1 .. input.Length - 1 })
00:01:35 verbose #1592 > > |> Seq.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:01:35 verbose #1593 > > |> SpiralSm.concat " "
00:01:35 verbose #1594 > >
00:01:35 verbose #1595 > > "FC",
00:01:35 verbose #1596 > > fun input ->
00:01:35 verbose #1597 > > Array.singleton 0
00:01:35 verbose #1598 > > |> Array.append [[| 1 .. input.Length - 1 |]]
00:01:35 verbose #1599 > > |> Array.Parallel.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:01:35 verbose #1600 > > |> SpiralSm.concat " "
00:01:35 verbose #1601 > > ]]
00:01:35 verbose #1602 > > let testCases = seq {
00:01:35 verbose #1603 > > "abc", "bca cab abc"
00:01:35 verbose #1604 > > "abcde", "bcdea cdeab deabc eabcd abcde"
00:01:35 verbose #1605 > > "abcdefghi", "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef
00:01:35 verbose #1606 > > hiabcdefg iabcdefgh abcdefghi"
00:01:35 verbose #1607 > > "abab", "baba abab baba abab"
00:01:35 verbose #1608 > > "aa", "aa aa"
00:01:35 verbose #1609 > > "z", "z"
00:01:35 verbose #1610 > > }
00:01:35 verbose #1611 > > let rec rotateStringsTests = runAll (nameof rotateStringsTests) _count solutions
00:01:35 verbose #1612 > > testCases
00:01:35 verbose #1613 > > rotateStringsTests
00:01:35 verbose #1614 > > |> sortResultList
00:03:24 verbose #1615 > >
00:03:24 verbose #1616 > > ╭─[ 1.82m - stdout ]───────────────────────────────────────────────────────────╮
00:03:24 verbose #1617 > > │ │
00:03:24 verbose #1618 > > │ │
00:03:24 verbose #1619 > > │ Test: rotateStringsTests │
00:03:24 verbose #1620 > > │ │
00:03:24 verbose #1621 > > │ Solution: abc │
00:03:24 verbose #1622 > > │ Test case 1. A. Time: 1363L │
00:03:24 verbose #1623 > > │ Test case 2. B. Time: 1123L │
00:03:24 verbose #1624 > > │ Test case 3. C. Time: 1199L │
00:03:24 verbose #1625 > > │ Test case 4. CA. Time: 1366L │
00:03:24 verbose #1626 > > │ Test case 5. CB. Time: 1244L │
00:03:24 verbose #1627 > > │ Test case 6. D. Time: 1374L │
00:03:24 verbose #1628 > > │ Test case 7. E. Time: 1021L │
00:03:24 verbose #1629 > > │ Test case 8. F. Time: 910L │
00:03:24 verbose #1630 > > │ Test case 9. FA. Time: 1003L │
00:03:24 verbose #1631 > > │ Test case 10. FB. Time: 1615L │
00:03:24 verbose #1632 > > │ Test case 11. FC. Time: 2435L │
00:03:24 verbose #1633 > > │ │
00:03:24 verbose #1634 > > │ Solution: abcde │
00:03:24 verbose #1635 > > │ Test case 1. A. Time: 1703L │
00:03:24 verbose #1636 > > │ Test case 2. B. Time: 1430L │
00:03:24 verbose #1637 > > │ Test case 3. C. Time: 1428L │
00:03:24 verbose #1638 > > │ Test case 4. CA. Time: 1522L │
00:03:24 verbose #1639 > > │ Test case 5. CB. Time: 1580L │
00:03:24 verbose #1640 > > │ Test case 6. D. Time: 1951L │
00:03:24 verbose #1641 > > │ Test case 7. E. Time: 1329L │
00:03:24 verbose #1642 > > │ Test case 8. F. Time: 1124L │
00:03:24 verbose #1643 > > │ Test case 9. FA. Time: 1341L │
00:03:24 verbose #1644 > > │ Test case 10. FB. Time: 2022L │
00:03:24 verbose #1645 > > │ Test case 11. FC. Time: 2717L │
00:03:24 verbose #1646 > > │ │
00:03:24 verbose #1647 > > │ Solution: abcdefghi │
00:03:24 verbose #1648 > > │ Test case 1. A. Time: 2971L │
00:03:24 verbose #1649 > > │ Test case 2. B. Time: 2184L │
00:03:24 verbose #1650 > > │ Test case 3. C. Time: 2239L │
00:03:24 verbose #1651 > > │ Test case 4. CA. Time: 2301L │
00:03:24 verbose #1652 > > │ Test case 5. CB. Time: 2564L │
00:03:24 verbose #1653 > > │ Test case 6. D. Time: 3830L │
00:03:24 verbose #1654 > > │ Test case 7. E. Time: 2113L │
00:03:24 verbose #1655 > > │ Test case 8. F. Time: 1740L │
00:03:24 verbose #1656 > > │ Test case 9. FA. Time: 2104L │
00:03:24 verbose #1657 > > │ Test case 10. FB. Time: 2825L │
00:03:24 verbose #1658 > > │ Test case 11. FC. Time: 3308L │
00:03:24 verbose #1659 > > │ │
00:03:24 verbose #1660 > > │ Solution: abab │
00:03:24 verbose #1661 > > │ Test case 1. A. Time: 1439L │
00:03:24 verbose #1662 > > │ Test case 2. B. Time: 1293L │
00:03:24 verbose #1663 > > │ Test case 3. C. Time: 1297L │
00:03:24 verbose #1664 > > │ Test case 4. CA. Time: 1417L │
00:03:24 verbose #1665 > > │ Test case 5. CB. Time: 1363L │
00:03:24 verbose #1666 > > │ Test case 6. D. Time: 1500L │
00:03:24 verbose #1667 > > │ Test case 7. E. Time: 1126L │
00:03:24 verbose #1668 > > │ Test case 8. F. Time: 956L │
00:03:24 verbose #1669 > > │ Test case 9. FA. Time: 1104L │
00:03:24 verbose #1670 > > │ Test case 10. FB. Time: 1730L │
00:03:24 verbose #1671 > > │ Test case 11. FC. Time: 2344L │
00:03:24 verbose #1672 > > │ │
00:03:24 verbose #1673 > > │ Solution: aa │
00:03:24 verbose #1674 > > │ Test case 1. A. Time: 874L │
00:03:24 verbose #1675 > > │ Test case 2. B. Time: 809L │
00:03:24 verbose #1676 > > │ Test case 3. C. Time: 887L │
00:03:24 verbose #1677 > > │ Test case 4. CA. Time: 1055L │
00:03:24 verbose #1678 > > │ Test case 5. CB. Time: 977L │
00:03:24 verbose #1679 > > │ Test case 6. D. Time: 931L │
00:03:24 verbose #1680 > > │ Test case 7. E. Time: 852L │
00:03:24 verbose #1681 > > │ Test case 8. F. Time: 685L │
00:03:24 verbose #1682 > > │ Test case 9. FA. Time: 802L │
00:03:24 verbose #1683 > > │ Test case 10. FB. Time: 1378L │
00:03:24 verbose #1684 > > │ Test case 11. FC. Time: 2074L │
00:03:24 verbose #1685 > > │ │
00:03:24 verbose #1686 > > │ Solution: z │
00:03:24 verbose #1687 > > │ Test case 1. A. Time: 533L │
00:03:24 verbose #1688 > > │ Test case 2. B. Time: 534L │
00:03:24 verbose #1689 > > │ Test case 3. C. Time: 592L │
00:03:24 verbose #1690 > > │ Test case 4. CA. Time: 902L │
00:03:24 verbose #1691 > > │ Test case 5. CB. Time: 677L │
00:03:24 verbose #1692 > > │ Test case 6. D. Time: 565L │
00:03:24 verbose #1693 > > │ Test case 7. E. Time: 483L │
00:03:24 verbose #1694 > > │ Test case 8. F. Time: 119L │
00:03:24 verbose #1695 > > │ Test case 9. FA. Time: 123L │
00:03:24 verbose #1696 > > │ Test case 10. FB. Time: 377L │
00:03:24 verbose #1697 > > │ Test case 11. FC. Time: 800L │
00:03:24 verbose #1698 > > │ │
00:03:24 verbose #1699 > > │ Input | Expected │
00:03:24 verbose #1700 > > │ │
00:03:24 verbose #1701 > > │ | Result │
00:03:24 verbose #1702 > > │ │
00:03:24 verbose #1703 > > │ | Best │
00:03:24 verbose #1704 > > │ --- | --- │
00:03:24 verbose #1705 > > │ │
00:03:24 verbose #1706 > > │ | --- │
00:03:24 verbose #1707 > > │ │
00:03:24 verbose #1708 > > │ | --- │
00:03:24 verbose #1709 > > │ abc | bca cab abc │
00:03:24 verbose #1710 > > │ │
00:03:24 verbose #1711 > > │ | bca cab abc │
00:03:24 verbose #1712 > > │ │
00:03:24 verbose #1713 > > │ | (8, 910) │
00:03:24 verbose #1714 > > │ abcde | bcdea cdeab deabc eabcd abcde │
00:03:24 verbose #1715 > > │ | bcdea cdeab deabc eabcd abcde │
00:03:24 verbose #1716 > > │ | (8, 1124) │
00:03:24 verbose #1717 > > │ abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef │
00:03:24 verbose #1718 > > │ hiabcdefg iabcdefgh abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd │
00:03:24 verbose #1719 > > │ fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi | (8, 1740) │
00:03:24 verbose #1720 > > │ abab | baba abab baba abab │
00:03:24 verbose #1721 > > │ | baba abab baba abab │
00:03:24 verbose #1722 > > │ | (8, 956) │
00:03:24 verbose #1723 > > │ aa | aa aa │
00:03:24 verbose #1724 > > │ │
00:03:24 verbose #1725 > > │ | aa aa │
00:03:24 verbose #1726 > > │ │
00:03:24 verbose #1727 > > │ | (8, 685) │
00:03:24 verbose #1728 > > │ z | z │
00:03:24 verbose #1729 > > │ │
00:03:24 verbose #1730 > > │ | z │
00:03:24 verbose #1731 > > │ │
00:03:24 verbose #1732 > > │ | (8, 119) │
00:03:24 verbose #1733 > > │ │
00:03:24 verbose #1734 > > │ Average Ranking │
00:03:24 verbose #1735 > > │ Test case 8. Average Time: 922L │
00:03:24 verbose #1736 > > │ Test case 9. Average Time: 1079L │
00:03:24 verbose #1737 > > │ Test case 7. Average Time: 1154L │
00:03:24 verbose #1738 > > │ Test case 2. Average Time: 1228L │
00:03:24 verbose #1739 > > │ Test case 3. Average Time: 1273L │
00:03:24 verbose #1740 > > │ Test case 5. Average Time: 1400L │
00:03:24 verbose #1741 > > │ Test case 4. Average Time: 1427L │
00:03:24 verbose #1742 > > │ Test case 1. Average Time: 1480L │
00:03:24 verbose #1743 > > │ Test case 10. Average Time: 1657L │
00:03:24 verbose #1744 > > │ Test case 6. Average Time: 1691L │
00:03:24 verbose #1745 > > │ Test case 11. Average Time: 2279L │
00:03:24 verbose #1746 > > │ │
00:03:24 verbose #1747 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:24 verbose #1748 > >
00:03:24 verbose #1749 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:24 verbose #1750 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:24 verbose #1751 > > │ ## rotate_strings_tests │
00:03:24 verbose #1752 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:24 verbose #1753 > >
00:03:24 verbose #1754 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:24 verbose #1755 > > //// test
00:03:24 verbose #1756 > > //// timeout=60000
00:03:24 verbose #1757 > >
00:03:24 verbose #1758 > > inl get_solutions () =
00:03:24 verbose #1759 > > [[
00:03:24 verbose #1760 > > // "A",
00:03:24 verbose #1761 > > // fun (input : string) =>
00:03:24 verbose #1762 > > // let resultList =
00:03:24 verbose #1763 > > // List.fold (fun acc x =>
00:03:24 verbose #1764 > > // let rotate (text : string) (letter : string) =
00:03:24 verbose #1765 > > text.Substring (1, input.Length - 1) + letter
00:03:24 verbose #1766 > > // [[ rotate (if acc.IsEmpty then input else acc.Head)
00:03:24 verbose #1767 > > (string x) ]] ++ acc
00:03:24 verbose #1768 > > // ) [[]] (Seq.toList input)
00:03:24 verbose #1769 > >
00:03:24 verbose #1770 > > // List.foldBack (fun acc x => x + acc + " ") resultList ""
00:03:24 verbose #1771 > > // |> fun x => x.TrimEnd ()
00:03:24 verbose #1772 > >
00:03:24 verbose #1773 > > // "B",
00:03:24 verbose #1774 > > // fun input =>
00:03:24 verbose #1775 > > // input
00:03:24 verbose #1776 > > // |> Seq.toList
00:03:24 verbose #1777 > > // |> List.fold (fun (acc : string list) letter =>
00:03:24 verbose #1778 > > // let last =
00:03:24 verbose #1779 > > // if acc.IsEmpty
00:03:24 verbose #1780 > > // then input
00:03:24 verbose #1781 > > // else acc.Head
00:03:24 verbose #1782 > >
00:03:24 verbose #1783 > > // let item = last.[[1 .. input.Length - 1]] + string letter
00:03:24 verbose #1784 > >
00:03:24 verbose #1785 > > // item :: acc
00:03:24 verbose #1786 > > // ) [[]]
00:03:24 verbose #1787 > > // |> List.rev
00:03:24 verbose #1788 > > // |> SpiralSm.concat " "
00:03:24 verbose #1789 > >
00:03:24 verbose #1790 > > // "C",
00:03:24 verbose #1791 > > // fun input =>
00:03:24 verbose #1792 > > // input
00:03:24 verbose #1793 > > // |> Seq.toList
00:03:24 verbose #1794 > > // |> List.fold (fun (acc : list string) letter => acc.Head.[[ 1 ..
00:03:24 verbose #1795 > > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:03:24 verbose #1796 > > // |> List.rev
00:03:24 verbose #1797 > > // |> List.skip 1
00:03:24 verbose #1798 > > // |> SpiralSm.concat " "
00:03:24 verbose #1799 > >
00:03:24 verbose #1800 > > // "CA",
00:03:24 verbose #1801 > > // fun input =>
00:03:24 verbose #1802 > > // input
00:03:24 verbose #1803 > > // |> Seq.fold (fun (acc : list string) letter => acc.Head.[[ 1 ..
00:03:24 verbose #1804 > > input.Length - 1 ]] + string letter :: acc) [[ input ]]
00:03:24 verbose #1805 > > // |> Seq.rev
00:03:24 verbose #1806 > > // |> Seq.skip 1
00:03:24 verbose #1807 > > // |> SpiralSm.concat " "
00:03:24 verbose #1808 > >
00:03:24 verbose #1809 > > // "CB",
00:03:24 verbose #1810 > > // fun input =>
00:03:24 verbose #1811 > > // input
00:03:24 verbose #1812 > > // |> Seq.toArray
00:03:24 verbose #1813 > > // |> Array.fold (fun (acc : a _ string) letter => acc |>
00:03:24 verbose #1814 > > Array.append (a ;[[ acc.[[0]].[[ 1 .. input.Length - 1 ]] + string letter ]]))
00:03:24 verbose #1815 > > (a ;[[ input ]])
00:03:24 verbose #1816 > > // |> Array.rev
00:03:24 verbose #1817 > > // |> Array.skip 1
00:03:24 verbose #1818 > > // |> SpiralSm.concat " "
00:03:24 verbose #1819 > >
00:03:24 verbose #1820 > > // "D",
00:03:24 verbose #1821 > > // fun input =>
00:03:24 verbose #1822 > > // input
00:03:24 verbose #1823 > > // |> Seq.toList
00:03:24 verbose #1824 > > // |> fun list =>
00:03:24 verbose #1825 > > // let rec loop (acc : list (list char)) = function
00:03:24 verbose #1826 > > // | _ when acc.Length = list.Length => acc
00:03:24 verbose #1827 > > // | head :: tail =>
00:03:24 verbose #1828 > > // let item = tail ++ [[ head ]]
00:03:24 verbose #1829 > > // loop (item :: acc) item
00:03:24 verbose #1830 > > // | [[]] => [[]]
00:03:24 verbose #1831 > > // loop [[]] list
00:03:24 verbose #1832 > > // |> List.rev
00:03:24 verbose #1833 > > // |> List.map (List.toArray >> String)
00:03:24 verbose #1834 > > // |> SpiralSm.concat " "
00:03:24 verbose #1835 > >
00:03:24 verbose #1836 > > // "E",
00:03:24 verbose #1837 > > // fun input =>
00:03:24 verbose #1838 > > // input
00:03:24 verbose #1839 > > // |> Seq.toList
00:03:24 verbose #1840 > > // |> fun list =>
00:03:24 verbose #1841 > > // let rec loop (last : string) = function
00:03:24 verbose #1842 > > // | head :: tail =>
00:03:24 verbose #1843 > > // let item = last.[[1 .. input.Length - 1]] + string
00:03:24 verbose #1844 > > head
00:03:24 verbose #1845 > > // item :: loop item tail
00:03:24 verbose #1846 > > // | [[]] => [[]]
00:03:24 verbose #1847 > > // loop input list
00:03:24 verbose #1848 > > // |> SpiralSm.concat " "
00:03:24 verbose #1849 > >
00:03:24 verbose #1850 > > "F",
00:03:24 verbose #1851 > > fun input =>
00:03:24 verbose #1852 > > // Array.singleton 0
00:03:24 verbose #1853 > > // |> Array.append [[| 1 .. input.Length - 1 |]]
00:03:24 verbose #1854 > > // |> Array.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:03:24 verbose #1855 > > // |> SpiralSm.concat " "
00:03:24 verbose #1856 > > inl input_length = input |> sm.length
00:03:24 verbose #1857 > > am.singleton 0i32
00:03:24 verbose #1858 > > |> am.append (am'.init_series 1 (input_length - 1) 1)
00:03:24 verbose #1859 > > |> am.map (fun i =>
00:03:24 verbose #1860 > > inl a = input |> sm'.slice i (input_length - 1)
00:03:24 verbose #1861 > > inl b = input |> sm'.slice 0 (i - 1)
00:03:24 verbose #1862 > > $"!a + !b" : string
00:03:24 verbose #1863 > > )
00:03:24 verbose #1864 > > |> seq.of_array
00:03:24 verbose #1865 > > |> sm'.concat " "
00:03:24 verbose #1866 > >
00:03:24 verbose #1867 > > "FA",
00:03:24 verbose #1868 > > fun input =>
00:03:24 verbose #1869 > > // List.singleton 0
00:03:24 verbose #1870 > > // |> List.append [[ 1 .. input.Length - 1 ]]
00:03:24 verbose #1871 > > // // |> List.map (fun i => input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:03:24 verbose #1872 > > // |> SpiralSm.concat " "
00:03:24 verbose #1873 > > inl input_length = input |> sm.length
00:03:24 verbose #1874 > > listm.singleton 0i32
00:03:24 verbose #1875 > > |> listm.append (listm'.init_series 1 (input_length - 1) 1)
00:03:24 verbose #1876 > > |> listm.map (fun i =>
00:03:24 verbose #1877 > > inl a = input |> sm'.slice i (input_length - 1)
00:03:24 verbose #1878 > > inl b = if i = 0 then "" else input |> sm'.slice 0 (i - 1)
00:03:24 verbose #1879 > > $"!a + !b" : string
00:03:24 verbose #1880 > > )
00:03:24 verbose #1881 > > |> listm.toArray
00:03:24 verbose #1882 > > |> fun x => x : a i32 _
00:03:24 verbose #1883 > > |> seq.of_array
00:03:24 verbose #1884 > > |> sm'.concat " "
00:03:24 verbose #1885 > >
00:03:24 verbose #1886 > > // "FB",
00:03:24 verbose #1887 > > // fun input =>
00:03:24 verbose #1888 > > // Seq.singleton 0
00:03:24 verbose #1889 > > // // |> Seq.append (seq { 1 .. input.Length - 1 })
00:03:24 verbose #1890 > > // // |> Seq.map (fun i => input.[[ i .. ]] + input.[[ .. i - 1 ]])
00:03:24 verbose #1891 > > // |> SpiralSm.concat " "
00:03:24 verbose #1892 > >
00:03:24 verbose #1893 > > // "FC",
00:03:24 verbose #1894 > > // fun input =>
00:03:24 verbose #1895 > > // Array.singleton 0
00:03:24 verbose #1896 > > // |> Array.append (a ;[[ 1 .. input.Length - 1 ]])
00:03:24 verbose #1897 > > //// |> Array.Parallel.map (fun i => input.[[ i .. ]] + input.[[ .. i
00:03:24 verbose #1898 > > - 1 ]])
00:03:24 verbose #1899 > > // |> SpiralSm.concat " "
00:03:24 verbose #1900 > > ]]
00:03:24 verbose #1901 > >
00:03:24 verbose #1902 > > inl rec rotate_strings_tests () =
00:03:24 verbose #1903 > > inl test_cases = [[
00:03:24 verbose #1904 > > "abc", "bca cab abc"
00:03:24 verbose #1905 > > "abcde", "bcdea cdeab deabc eabcd abcde"
00:03:24 verbose #1906 > > "abcdefghi", "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde
00:03:24 verbose #1907 > > ghiabcdef hiabcdefg iabcdefgh abcdefghi"
00:03:24 verbose #1908 > > "abab", "baba abab baba abab"
00:03:24 verbose #1909 > > "aa", "aa aa"
00:03:24 verbose #1910 > > "z", "z"
00:03:24 verbose #1911 > > ]]
00:03:24 verbose #1912 > >
00:03:24 verbose #1913 > > inl solutions = get_solutions ()
00:03:24 verbose #1914 > >
00:03:24 verbose #1915 > > // inl is_fast () = true
00:03:24 verbose #1916 > >
00:03:24 verbose #1917 > > inl count =
00:03:24 verbose #1918 > > if is_fast ()
00:03:24 verbose #1919 > > then 1000i32
00:03:24 verbose #1920 > > else 2000000i32
00:03:24 verbose #1921 > >
00:03:24 verbose #1922 > > run_all (nameof rotate_strings_tests) count solutions test_cases
00:03:24 verbose #1923 > > |> sort_result_list
00:03:24 verbose #1924 > >
00:03:24 verbose #1925 > > rotate_strings_tests ()
00:03:24 verbose #1926 > 00:03:24 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/897b61c33c39e5cfb2584c99efeb25607f4e7c0f8b2a28d7dbb19ca1b3ae2224/main.spi
00:03:42 verbose #1927 > >
00:03:42 verbose #1928 > > ╭─[ 18.18s - stdout ]──────────────────────────────────────────────────────────╮
00:03:42 verbose #1929 > > │ │
00:03:42 verbose #1930 > > │ │
00:03:42 verbose #1931 > > │ Test: v0 │
00:03:42 verbose #1932 > > │ │
00:03:42 verbose #1933 > > │ Solution: "abc" │
00:03:42 verbose #1934 > > │ Test case 1. F. Time: 975 │
00:03:42 verbose #1935 > > │ Test case 2. FA. Time: 1283 │
00:03:42 verbose #1936 > > │ │
00:03:42 verbose #1937 > > │ Solution: "abcde" │
00:03:42 verbose #1938 > > │ Test case 1. F. Time: 1193 │
00:03:42 verbose #1939 > > │ Test case 2. FA. Time: 1286 │
00:03:42 verbose #1940 > > │ │
00:03:42 verbose #1941 > > │ Solution: "abcdefghi" │
00:03:42 verbose #1942 > > │ Test case 1. F. Time: 1814 │
00:03:42 verbose #1943 > > │ Test case 2. FA. Time: 2214 │
00:03:42 verbose #1944 > > │ │
00:03:42 verbose #1945 > > │ Solution: "abab" │
00:03:42 verbose #1946 > > │ Test case 1. F. Time: 932 │
00:03:42 verbose #1947 > > │ Test case 2. FA. Time: 1108 │
00:03:42 verbose #1948 > > │ │
00:03:42 verbose #1949 > > │ Solution: "aa" │
00:03:42 verbose #1950 > > │ Test case 1. F. Time: 653 │
00:03:42 verbose #1951 > > │ Test case 2. FA. Time: 696 │
00:03:42 verbose #1952 > > │ │
00:03:42 verbose #1953 > > │ Solution: "z" │
00:03:42 verbose #1954 > > │ Test case 1. F. Time: 122 │
00:03:42 verbose #1955 > > │ Test case 2. FA. Time: 120 │
00:03:42 verbose #1956 > > │ │
00:03:42 verbose #1957 > > │ Input | Expected │
00:03:42 verbose #1958 > > │ │
00:03:42 verbose #1959 > > │ | Result │
00:03:42 verbose #1960 > > │ │
00:03:42 verbose #1961 > > │ | Best │
00:03:42 verbose #1962 > > │ --- | --- │
00:03:42 verbose #1963 > > │ │
00:03:42 verbose #1964 > > │ | --- │
00:03:42 verbose #1965 > > │ │
00:03:42 verbose #1966 > > │ | --- │
00:03:42 verbose #1967 > > │ "abc" | "bca cab abc" │
00:03:42 verbose #1968 > > │ │
00:03:42 verbose #1969 > > │ | "bca cab abc" │
00:03:42 verbose #1970 > > │ │
00:03:42 verbose #1971 > > │ | struct (1L, 975L) │
00:03:42 verbose #1972 > > │ "abcde" | "bcdea cdeab deabc eabcd abcde" │
00:03:42 verbose #1973 > > │ | "bcdea cdeab deabc eabcd abcde" │
00:03:42 verbose #1974 > > │ | struct (1L, 1193L) │
00:03:42 verbose #1975 > > │ "abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef │
00:03:42 verbose #1976 > > │ hiabcdefg iabcdefgh abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd │
00:03:42 verbose #1977 > > │ fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi" | struct (1L, 1814L) │
00:03:42 verbose #1978 > > │ "abab" | "baba abab baba abab" │
00:03:42 verbose #1979 > > │ | "baba abab baba abab" │
00:03:42 verbose #1980 > > │ | struct (1L, 932L) │
00:03:42 verbose #1981 > > │ "aa" | "aa aa" │
00:03:42 verbose #1982 > > │ │
00:03:42 verbose #1983 > > │ | "aa aa" │
00:03:42 verbose #1984 > > │ │
00:03:42 verbose #1985 > > │ | struct (1L, 653L) │
00:03:42 verbose #1986 > > │ "z" | "z" │
00:03:42 verbose #1987 > > │ │
00:03:42 verbose #1988 > > │ | "z" │
00:03:42 verbose #1989 > > │ │
00:03:42 verbose #1990 > > │ | struct (2L, 120L) │
00:03:42 verbose #1991 > > │ │
00:03:42 verbose #1992 > > │ Average Ranking │
00:03:42 verbose #1993 > > │ Test case 1. Average Time: 948L │
00:03:42 verbose #1994 > > │ Test case 2. Average Time: 1117L │
00:03:42 verbose #1995 > > │ │
00:03:42 verbose #1996 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:42 verbose #1997 > >
00:03:42 verbose #1998 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:42 verbose #1999 > > //// test
00:03:42 verbose #2000 > >
00:03:42 verbose #2001 > > // rotate_strings_tests ()
00:03:42 verbose #2002 > > ()
00:03:42 verbose #2003 > 00:03:42 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7284c97b2666e031bb4c38a4e09bf70c75f7b6688fae613234c84c9837071d00/main.spi
00:03:42 verbose #2004 > >
00:03:42 verbose #2005 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:42 verbose #2006 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:42 verbose #2007 > > │ ## binary_search_tests │
00:03:42 verbose #2008 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:42 verbose #2009 > >
00:03:42 verbose #2010 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:42 verbose #2011 > > //// test
00:03:42 verbose #2012 > > //// timeout=90000
00:03:42 verbose #2013 > >
00:03:42 verbose #2014 > > inl binary_search_semi_open_1 arr target left right =
00:03:42 verbose #2015 > > inl rec body left right =
00:03:42 verbose #2016 > > if left >= right
00:03:42 verbose #2017 > > then None
00:03:42 verbose #2018 > > else
00:03:42 verbose #2019 > > inl mid = (left + right) / 2
00:03:42 verbose #2020 > > inl item = index arr mid
00:03:42 verbose #2021 > > if item = target
00:03:42 verbose #2022 > > then Some mid
00:03:42 verbose #2023 > > elif item < target
00:03:42 verbose #2024 > > then loop (mid + 1) right
00:03:42 verbose #2025 > > else loop left mid
00:03:42 verbose #2026 > > and inl loop left right =
00:03:42 verbose #2027 > > if var_is right |> not
00:03:42 verbose #2028 > > then body left right
00:03:42 verbose #2029 > > else
00:03:42 verbose #2030 > > inl left = dyn left
00:03:42 verbose #2031 > > join body left right
00:03:42 verbose #2032 > > loop left right
00:03:42 verbose #2033 > >
00:03:42 verbose #2034 > > inl binary_search_closed_1 arr target left right =
00:03:42 verbose #2035 > > inl rec body left right =
00:03:42 verbose #2036 > > if left > right
00:03:42 verbose #2037 > > then None
00:03:42 verbose #2038 > > else
00:03:42 verbose #2039 > > inl mid = (left + right) / 2
00:03:42 verbose #2040 > > inl item = index arr mid
00:03:42 verbose #2041 > > if item = target
00:03:42 verbose #2042 > > then Some mid
00:03:42 verbose #2043 > > elif item < target
00:03:42 verbose #2044 > > then loop (mid + 1) right
00:03:42 verbose #2045 > > else loop left (mid - 1)
00:03:42 verbose #2046 > > and inl loop left right =
00:03:42 verbose #2047 > > if var_is right |> not
00:03:42 verbose #2048 > > then body left right
00:03:42 verbose #2049 > > else
00:03:42 verbose #2050 > > inl left = dyn left
00:03:42 verbose #2051 > > join body left right
00:03:42 verbose #2052 > > loop left right
00:03:42 verbose #2053 > >
00:03:42 verbose #2054 > > inl binary_search_semi_open_2 arr target left right =
00:03:42 verbose #2055 > > let rec body left right =
00:03:42 verbose #2056 > > if left >= right
00:03:42 verbose #2057 > > then None
00:03:42 verbose #2058 > > else
00:03:42 verbose #2059 > > inl mid = (left + right) / 2
00:03:42 verbose #2060 > > inl item = index arr mid
00:03:42 verbose #2061 > > if item = target
00:03:42 verbose #2062 > > then Some mid
00:03:42 verbose #2063 > > elif item < target
00:03:42 verbose #2064 > > then loop (mid + 1) right
00:03:42 verbose #2065 > > else loop left mid
00:03:42 verbose #2066 > > and inl loop left right = body left right
00:03:42 verbose #2067 > > loop left right
00:03:42 verbose #2068 > >
00:03:42 verbose #2069 > > inl binary_search_closed_2 arr target left right =
00:03:42 verbose #2070 > > let rec body left right =
00:03:42 verbose #2071 > > if left > right
00:03:42 verbose #2072 > > then None
00:03:42 verbose #2073 > > else
00:03:42 verbose #2074 > > inl mid = (left + right) / 2
00:03:42 verbose #2075 > > inl item = index arr mid
00:03:42 verbose #2076 > > if item = target
00:03:42 verbose #2077 > > then Some mid
00:03:42 verbose #2078 > > elif item < target
00:03:42 verbose #2079 > > then loop (mid + 1) right
00:03:42 verbose #2080 > > else loop left (mid - 1)
00:03:42 verbose #2081 > > and inl loop left right = body left right
00:03:42 verbose #2082 > > loop left right
00:03:42 verbose #2083 > >
00:03:42 verbose #2084 > > inl get_solutions () =
00:03:42 verbose #2085 > > [[
00:03:42 verbose #2086 > > "semi_open_1",
00:03:42 verbose #2087 > > fun (arr, (target, len)) =>
00:03:42 verbose #2088 > > binary_search_semi_open_1 arr target 0 len
00:03:42 verbose #2089 > >
00:03:42 verbose #2090 > > "closed_1",
00:03:42 verbose #2091 > > fun (arr, (target, len)) =>
00:03:42 verbose #2092 > > binary_search_closed_1 arr target 0 (len - 1)
00:03:42 verbose #2093 > >
00:03:42 verbose #2094 > > "semi_open_2",
00:03:42 verbose #2095 > > fun (arr, (target, len)) =>
00:03:42 verbose #2096 > > binary_search_semi_open_2 arr target 0 len
00:03:42 verbose #2097 > >
00:03:42 verbose #2098 > > "closed_2",
00:03:42 verbose #2099 > > fun (arr, (target, len)) =>
00:03:42 verbose #2100 > > binary_search_closed_2 arr target 0 (len - 1)
00:03:42 verbose #2101 > > ]]
00:03:42 verbose #2102 > >
00:03:42 verbose #2103 > > inl rec binary_search_tests () =
00:03:42 verbose #2104 > > inl arr_with_len target len arr =
00:03:42 verbose #2105 > > arr, (target, (len |> optionm'.default_with fun () => length arr))
00:03:42 verbose #2106 > >
00:03:42 verbose #2107 > > inl test_cases = [[
00:03:42 verbose #2108 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 6 None), (Some 3i32)
00:03:42 verbose #2109 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 1 None), (Some 0i32)
00:03:42 verbose #2110 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 11 None), (Some 6i32)
00:03:42 verbose #2111 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 12 None), None
00:03:42 verbose #2112 > > ((am'.init_series 1i32 100 1) |> arr_with_len 60 None), (Some 59)
00:03:42 verbose #2113 > >
00:03:42 verbose #2114 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 6 (Some 7)), (Some
00:03:42 verbose #2115 > > 3i32)
00:03:42 verbose #2116 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 1 (Some 7)), (Some
00:03:42 verbose #2117 > > 0i32)
00:03:42 verbose #2118 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 11 (Some 7)), (Some
00:03:42 verbose #2119 > > 6i32)
00:03:42 verbose #2120 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 12 (Some 7)), None
00:03:42 verbose #2121 > > ((am'.init_series 1i32 100 1) |> arr_with_len 60 (Some 100)), (Some 59)
00:03:42 verbose #2122 > > ]]
00:03:42 verbose #2123 > >
00:03:42 verbose #2124 > > inl solutions = get_solutions ()
00:03:42 verbose #2125 > >
00:03:42 verbose #2126 > > // inl is_fast () = true
00:03:42 verbose #2127 > >
00:03:42 verbose #2128 > > inl count =
00:03:42 verbose #2129 > > if is_fast ()
00:03:42 verbose #2130 > > then 1000i32
00:03:42 verbose #2131 > > else 8000000i32
00:03:42 verbose #2132 > >
00:03:42 verbose #2133 > > run_all (nameof binary_search_tests) count solutions test_cases
00:03:42 verbose #2134 > > |> sort_result_list
00:03:42 verbose #2135 > >
00:03:42 verbose #2136 > >
00:03:42 verbose #2137 > > let main () =
00:03:42 verbose #2138 > > binary_search_tests ()
00:03:42 verbose #2139 > 00:03:42 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3ca6c5a1d086b452e36399a5a386c6fbbddc0dde249983cd8b661822a0c6dcf8/main.spi
00:03:55 verbose #2140 > >
00:03:55 verbose #2141 > > ╭─[ 12.07s - stdout ]──────────────────────────────────────────────────────────╮
00:03:55 verbose #2142 > > │ │
00:03:55 verbose #2143 > > │ │
00:03:55 verbose #2144 > > │ Test: v25 │
00:03:55 verbose #2145 > > │ │
00:03:55 verbose #2146 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:03:55 verbose #2147 > > │ Test case 1. semi_open_1. Time: 203 │
00:03:55 verbose #2148 > > │ Test case 2. closed_1. Time: 196 │
00:03:55 verbose #2149 > > │ Test case 3. semi_open_2. Time: 220 │
00:03:55 verbose #2150 > > │ Test case 4. closed_2. Time: 110 │
00:03:55 verbose #2151 > > │ │
00:03:55 verbose #2152 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:03:55 verbose #2153 > > │ Test case 1. semi_open_1. Time: 94 │
00:03:55 verbose #2154 > > │ Test case 2. closed_1. Time: 69 │
00:03:55 verbose #2155 > > │ Test case 3. semi_open_2. Time: 67 │
00:03:55 verbose #2156 > > │ Test case 4. closed_2. Time: 71 │
00:03:55 verbose #2157 > > │ │
00:03:55 verbose #2158 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:03:55 verbose #2159 > > │ Test case 1. semi_open_1. Time: 68 │
00:03:55 verbose #2160 > > │ Test case 2. closed_1. Time: 69 │
00:03:55 verbose #2161 > > │ Test case 3. semi_open_2. Time: 67 │
00:03:55 verbose #2162 > > │ Test case 4. closed_2. Time: 69 │
00:03:55 verbose #2163 > > │ │
00:03:55 verbose #2164 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:03:55 verbose #2165 > > │ Test case 1. semi_open_1. Time: 72 │
00:03:55 verbose #2166 > > │ Test case 2. closed_1. Time: 72 │
00:03:55 verbose #2167 > > │ Test case 3. semi_open_2. Time: 68 │
00:03:55 verbose #2168 > > │ Test case 4. closed_2. Time: 71 │
00:03:55 verbose #2169 > > │ │
00:03:55 verbose #2170 > > │ Solution: struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; │
00:03:55 verbose #2171 > > │ 17; 18; 19; 20; │
00:03:55 verbose #2172 > > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:03:55 verbose #2173 > > │ 37; 38; │
00:03:55 verbose #2174 > > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:03:55 verbose #2175 > > │ 55; 56; │
00:03:55 verbose #2176 > > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:03:55 verbose #2177 > > │ 73; 74; │
00:03:55 verbose #2178 > > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:03:55 verbose #2179 > > │ 91; 92; │
00:03:55 verbose #2180 > > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) │
00:03:55 verbose #2181 > > │ Test case 1. semi_open_1. Time: 81 │
00:03:55 verbose #2182 > > │ Test case 2. closed_1. Time: 84 │
00:03:55 verbose #2183 > > │ Test case 3. semi_open_2. Time: 82 │
00:03:55 verbose #2184 > > │ Test case 4. closed_2. Time: 84 │
00:03:55 verbose #2185 > > │ │
00:03:55 verbose #2186 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:03:55 verbose #2187 > > │ Test case 1. semi_open_1. Time: 59 │
00:03:55 verbose #2188 > > │ Test case 2. closed_1. Time: 59 │
00:03:55 verbose #2189 > > │ Test case 3. semi_open_2. Time: 59 │
00:03:55 verbose #2190 > > │ Test case 4. closed_2. Time: 60 │
00:03:55 verbose #2191 > > │ │
00:03:55 verbose #2192 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:03:55 verbose #2193 > > │ Test case 1. semi_open_1. Time: 68 │
00:03:55 verbose #2194 > > │ Test case 2. closed_1. Time: 68 │
00:03:55 verbose #2195 > > │ Test case 3. semi_open_2. Time: 67 │
00:03:55 verbose #2196 > > │ Test case 4. closed_2. Time: 67 │
00:03:55 verbose #2197 > > │ │
00:03:55 verbose #2198 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:03:55 verbose #2199 > > │ Test case 1. semi_open_1. Time: 67 │
00:03:55 verbose #2200 > > │ Test case 2. closed_1. Time: 69 │
00:03:55 verbose #2201 > > │ Test case 3. semi_open_2. Time: 68 │
00:03:55 verbose #2202 > > │ Test case 4. closed_2. Time: 69 │
00:03:55 verbose #2203 > > │ │
00:03:55 verbose #2204 > > │ Solution: struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:03:55 verbose #2205 > > │ Test case 1. semi_open_1. Time: 71 │
00:03:55 verbose #2206 > > │ Test case 2. closed_1. Time: 74 │
00:03:55 verbose #2207 > > │ Test case 3. semi_open_2. Time: 70 │
00:03:55 verbose #2208 > > │ Test case 4. closed_2. Time: 73 │
00:03:55 verbose #2209 > > │ │
00:03:55 verbose #2210 > > │ Solution: struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; │
00:03:55 verbose #2211 > > │ 17; 18; 19; 20; │
00:03:55 verbose #2212 > > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:03:55 verbose #2213 > > │ 37; 38; │
00:03:55 verbose #2214 > > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:03:55 verbose #2215 > > │ 55; 56; │
00:03:55 verbose #2216 > > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:03:55 verbose #2217 > > │ 73; 74; │
00:03:55 verbose #2218 > > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:03:55 verbose #2219 > > │ 91; 92; │
00:03:55 verbose #2220 > > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) │
00:03:55 verbose #2221 > > │ Test case 1. semi_open_1. Time: 84 │
00:03:55 verbose #2222 > > │ Test case 2. closed_1. Time: 85 │
00:03:55 verbose #2223 > > │ Test case 3. semi_open_2. Time: 83 │
00:03:55 verbose #2224 > > │ Test case 4. closed_2. Time: 85 │
00:03:55 verbose #2225 > > │ │
00:03:55 verbose #2226 > > │ Input │
00:03:55 verbose #2227 > > │ │
00:03:55 verbose #2228 > > │ │
00:03:55 verbose #2229 > > │ │
00:03:55 verbose #2230 > > │ | Expected | Result | Best │
00:03:55 verbose #2231 > > │ --- │
00:03:55 verbose #2232 > > │ │
00:03:55 verbose #2233 > > │ │
00:03:55 verbose #2234 > > │ │
00:03:55 verbose #2235 > > │ | --- | --- | --- │
00:03:55 verbose #2236 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:03:55 verbose #2237 > > │ │
00:03:55 verbose #2238 > > │ │
00:03:55 verbose #2239 > > │ │
00:03:55 verbose #2240 > > │ | US0_0 3 | US0_0 3 | struct (4L, 110L) │
00:03:55 verbose #2241 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:03:55 verbose #2242 > > │ │
00:03:55 verbose #2243 > > │ │
00:03:55 verbose #2244 > > │ │
00:03:55 verbose #2245 > > │ | US0_0 0 | US0_0 0 | struct (3L, 67L) │
00:03:55 verbose #2246 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:03:55 verbose #2247 > > │ │
00:03:55 verbose #2248 > > │ │
00:03:55 verbose #2249 > > │ │
00:03:55 verbose #2250 > > │ | US0_0 6 | US0_0 6 | struct (3L, 67L) │
00:03:55 verbose #2251 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:03:55 verbose #2252 > > │ │
00:03:55 verbose #2253 > > │ │
00:03:55 verbose #2254 > > │ │
00:03:55 verbose #2255 > > │ | US0_1 | US0_1 | struct (3L, 68L) │
00:03:55 verbose #2256 > > │ struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; │
00:03:55 verbose #2257 > > │ 20; │
00:03:55 verbose #2258 > > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:03:55 verbose #2259 > > │ 37; 38; │
00:03:55 verbose #2260 > > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:03:55 verbose #2261 > > │ 55; 56; │
00:03:55 verbose #2262 > > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:03:55 verbose #2263 > > │ 73; 74; │
00:03:55 verbose #2264 > > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:03:55 verbose #2265 > > │ 91; 92; │
00:03:55 verbose #2266 > > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) | US0_0 59 | US0_0 59 | │
00:03:55 verbose #2267 > > │ struct (1L, 81L) │
00:03:55 verbose #2268 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 6, 7) │
00:03:55 verbose #2269 > > │ │
00:03:55 verbose #2270 > > │ │
00:03:55 verbose #2271 > > │ │
00:03:55 verbose #2272 > > │ | US0_0 3 | US0_0 3 | struct (1L, 59L) │
00:03:55 verbose #2273 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 1, 7) │
00:03:55 verbose #2274 > > │ │
00:03:55 verbose #2275 > > │ │
00:03:55 verbose #2276 > > │ │
00:03:55 verbose #2277 > > │ | US0_0 0 | US0_0 0 | struct (3L, 67L) │
00:03:55 verbose #2278 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 11, 7) │
00:03:55 verbose #2279 > > │ │
00:03:55 verbose #2280 > > │ │
00:03:55 verbose #2281 > > │ │
00:03:55 verbose #2282 > > │ | US0_0 6 | US0_0 6 | struct (1L, 67L) │
00:03:55 verbose #2283 > > │ struct ([|1; 3; 4; 6; 8; 9; 11|], 12, 7) │
00:03:55 verbose #2284 > > │ │
00:03:55 verbose #2285 > > │ │
00:03:55 verbose #2286 > > │ │
00:03:55 verbose #2287 > > │ | US0_1 | US0_1 | struct (3L, 70L) │
00:03:55 verbose #2288 > > │ struct ([|1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; │
00:03:55 verbose #2289 > > │ 20; │
00:03:55 verbose #2290 > > │ 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; │
00:03:55 verbose #2291 > > │ 37; 38; │
00:03:55 verbose #2292 > > │ 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; │
00:03:55 verbose #2293 > > │ 55; 56; │
00:03:55 verbose #2294 > > │ 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; │
00:03:55 verbose #2295 > > │ 73; 74; │
00:03:55 verbose #2296 > > │ 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; │
00:03:55 verbose #2297 > > │ 91; 92; │
00:03:55 verbose #2298 > > │ 93; 94; 95; 96; 97; 98; 99; 100|], 60, 100) | US0_0 59 | US0_0 59 | │
00:03:55 verbose #2299 > > │ struct (3L, 83L) │
00:03:55 verbose #2300 > > │ │
00:03:55 verbose #2301 > > │ Average Ranking │
00:03:55 verbose #2302 > > │ Test case 4. Average Time: 75L │
00:03:55 verbose #2303 > > │ Test case 2. Average Time: 84L │
00:03:55 verbose #2304 > > │ Test case 3. Average Time: 85L │
00:03:55 verbose #2305 > > │ Test case 1. Average Time: 86L │
00:03:55 verbose #2306 > > │ │
00:03:55 verbose #2307 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:55 verbose #2308 > >
00:03:55 verbose #2309 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:55 verbose #2310 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:55 verbose #2311 > > │ ## returnLettersWithOddCountTests │
00:03:55 verbose #2312 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:55 verbose #2313 > >
00:03:55 verbose #2314 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:55 verbose #2315 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:55 verbose #2316 > > │ Test: ReturnLettersWithOddCount │
00:03:55 verbose #2317 > > │ │
00:03:55 verbose #2318 > > │ Solution: 1 │
00:03:55 verbose #2319 > > │ Test case 1. A. Time: 645L │
00:03:55 verbose #2320 > > │ │
00:03:55 verbose #2321 > > │ Solution: 2 │
00:03:55 verbose #2322 > > │ Test case 1. A. Time: 663L │
00:03:55 verbose #2323 > > │ │
00:03:55 verbose #2324 > > │ Solution: 3 │
00:03:55 verbose #2325 > > │ Test case 1. A. Time: 680L │
00:03:55 verbose #2326 > > │ │
00:03:55 verbose #2327 > > │ Solution: 9 │
00:03:55 verbose #2328 > > │ Test case 1. A. Time: 730L │
00:03:55 verbose #2329 > > │ │
00:03:55 verbose #2330 > > │ Solution: 10 │
00:03:55 verbose #2331 > > │ Test case 1. A. Time: 815L │
00:03:55 verbose #2332 > > │ │
00:03:55 verbose #2333 > > │ Input | Expected | Result | Best │
00:03:55 verbose #2334 > > │ --- | --- | --- | --- │
00:03:55 verbose #2335 > > │ 1 | a | a | (1, 645) │
00:03:55 verbose #2336 > > │ 2 | ba | ba | (1, 663) │
00:03:55 verbose #2337 > > │ 3 | aaa | aaa | (1, 680) │
00:03:55 verbose #2338 > > │ 9 | aaaaaaaaa | aaaaaaaaa | (1, 730) │
00:03:55 verbose #2339 > > │ 10 | baaaaaaaaa | baaaaaaaaa | (1, 815) │
00:03:55 verbose #2340 > > │ │
00:03:55 verbose #2341 > > │ Averages │
00:03:55 verbose #2342 > > │ Test case 1. Average Time: 706L │
00:03:55 verbose #2343 > > │ │
00:03:55 verbose #2344 > > │ Ranking │
00:03:55 verbose #2345 > > │ Test case 1. Average Time: 706L │
00:03:55 verbose #2346 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:55 verbose #2347 > >
00:03:55 verbose #2348 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:03:55 verbose #2349 > > //// test
00:03:55 verbose #2350 > >
00:03:55 verbose #2351 > > let solutions = [[
00:03:55 verbose #2352 > > "A",
00:03:55 verbose #2353 > > fun n ->
00:03:55 verbose #2354 > > let mutable _builder = StringBuilder (new string('a', n))
00:03:55 verbose #2355 > > if n % 2 = 0 then
00:03:55 verbose #2356 > > _builder.[[0]] <- 'b'
00:03:55 verbose #2357 > >
00:03:55 verbose #2358 > > _builder.ToString ()
00:03:55 verbose #2359 > > ]]
00:03:55 verbose #2360 > > let testCases = seq {
00:03:55 verbose #2361 > > 1, "a"
00:03:55 verbose #2362 > > 2, "ba"
00:03:55 verbose #2363 > > 3, "aaa"
00:03:55 verbose #2364 > > 9, "aaaaaaaaa"
00:03:55 verbose #2365 > > 10, "baaaaaaaaa"
00:03:55 verbose #2366 > > }
00:03:55 verbose #2367 > > let rec returnLettersWithOddCountTests =
00:03:55 verbose #2368 > > runAll (nameof returnLettersWithOddCountTests) _count solutions testCases
00:03:55 verbose #2369 > > returnLettersWithOddCountTests
00:03:55 verbose #2370 > > |> sortResultList
00:03:57 verbose #2371 > >
00:03:57 verbose #2372 > > ╭─[ 2.79s - stdout ]───────────────────────────────────────────────────────────╮
00:03:57 verbose #2373 > > │ │
00:03:57 verbose #2374 > > │ │
00:03:57 verbose #2375 > > │ Test: returnLettersWithOddCountTests │
00:03:57 verbose #2376 > > │ │
00:03:57 verbose #2377 > > │ Solution: 1 │
00:03:57 verbose #2378 > > │ Test case 1. A. Time: 337L │
00:03:57 verbose #2379 > > │ │
00:03:57 verbose #2380 > > │ Solution: 2 │
00:03:57 verbose #2381 > > │ Test case 1. A. Time: 399L │
00:03:57 verbose #2382 > > │ │
00:03:57 verbose #2383 > > │ Solution: 3 │
00:03:57 verbose #2384 > > │ Test case 1. A. Time: 405L │
00:03:57 verbose #2385 > > │ │
00:03:57 verbose #2386 > > │ Solution: 9 │
00:03:57 verbose #2387 > > │ Test case 1. A. Time: 369L │
00:03:57 verbose #2388 > > │ │
00:03:57 verbose #2389 > > │ Solution: 10 │
00:03:57 verbose #2390 > > │ Test case 1. A. Time: 371L │
00:03:57 verbose #2391 > > │ │
00:03:57 verbose #2392 > > │ Input | Expected | Result | Best │
00:03:57 verbose #2393 > > │ --- | --- | --- | --- │
00:03:57 verbose #2394 > > │ 1 | a | a | (1, 337) │
00:03:57 verbose #2395 > > │ 2 | ba | ba | (1, 399) │
00:03:57 verbose #2396 > > │ 3 | aaa | aaa | (1, 405) │
00:03:57 verbose #2397 > > │ 9 | aaaaaaaaa | aaaaaaaaa | (1, 369) │
00:03:57 verbose #2398 > > │ 10 | baaaaaaaaa | baaaaaaaaa | (1, 371) │
00:03:57 verbose #2399 > > │ │
00:03:57 verbose #2400 > > │ Average Ranking │
00:03:57 verbose #2401 > > │ Test case 1. Average Time: 376L │
00:03:57 verbose #2402 > > │ │
00:03:57 verbose #2403 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:57 verbose #2404 > >
00:03:57 verbose #2405 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:57 verbose #2406 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:57 verbose #2407 > > │ ## hasAnyPairCloseToEachotherTests │
00:03:57 verbose #2408 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:57 verbose #2409 > >
00:03:57 verbose #2410 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:57 verbose #2411 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:57 verbose #2412 > > │ Test: HasAnyPairCloseToEachother │
00:03:57 verbose #2413 > > │ │
00:03:57 verbose #2414 > > │ Solution: 0 │
00:03:57 verbose #2415 > > │ Test case 1. A. Time: 137L │
00:03:57 verbose #2416 > > │ │
00:03:57 verbose #2417 > > │ Solution: 1,2 │
00:03:57 verbose #2418 > > │ Test case 1. A. Time: 186L │
00:03:57 verbose #2419 > > │ │
00:03:57 verbose #2420 > > │ Solution: 3,5 │
00:03:57 verbose #2421 > > │ Test case 1. A. Time: 206L │
00:03:57 verbose #2422 > > │ │
00:03:57 verbose #2423 > > │ Solution: 3,4,6 │
00:03:57 verbose #2424 > > │ Test case 1. A. Time: 149L │
00:03:57 verbose #2425 > > │ │
00:03:57 verbose #2426 > > │ Solution: 2,4,6 │
00:03:57 verbose #2427 > > │ Test case 1. A. Time: 150L │
00:03:57 verbose #2428 > > │ │
00:03:57 verbose #2429 > > │ Input | Expected | Result | Best │
00:03:57 verbose #2430 > > │ --- | --- | --- | --- │
00:03:57 verbose #2431 > > │ 0 | False | False | (1, 137) │
00:03:57 verbose #2432 > > │ 1,2 | True | True | (1, 186) │
00:03:57 verbose #2433 > > │ 3,5 | False | False | (1, 206) │
00:03:57 verbose #2434 > > │ 3,4,6 | True | True | (1, 149) │
00:03:57 verbose #2435 > > │ 2,4,6 | False | False | (1, 150) │
00:03:57 verbose #2436 > > │ │
00:03:57 verbose #2437 > > │ Averages │
00:03:57 verbose #2438 > > │ Test case 1. Average Time: 165L │
00:03:57 verbose #2439 > > │ │
00:03:57 verbose #2440 > > │ Ranking │
00:03:57 verbose #2441 > > │ Test case 1. Average Time: 165L │
00:03:57 verbose #2442 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:57 verbose #2443 > >
00:03:57 verbose #2444 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:03:57 verbose #2445 > > //// test
00:03:57 verbose #2446 > >
00:03:57 verbose #2447 > > let solutions = [[
00:03:57 verbose #2448 > > "A",
00:03:57 verbose #2449 > > fun (a: int[[]]) ->
00:03:57 verbose #2450 > > let indices = System.Linq.Enumerable.Range(0, a.Length) |>
00:03:57 verbose #2451 > > System.Linq.Enumerable.ToArray
00:03:57 verbose #2452 > > System.Array.Sort (a, indices)
00:03:57 verbose #2453 > >
00:03:57 verbose #2454 > > indices
00:03:57 verbose #2455 > > |> Array.take (a.Length - 1)
00:03:57 verbose #2456 > > |> Array.exists (fun i -> a.[[i + 1]] - a.[[i]] = 1)
00:03:57 verbose #2457 > > ]]
00:03:57 verbose #2458 > > let testCases = seq {
00:03:57 verbose #2459 > > [[| 0 |]], false
00:03:57 verbose #2460 > > [[| 1; 2 |]], true
00:03:57 verbose #2461 > > [[| 3; 5 |]], false
00:03:57 verbose #2462 > > [[| 3; 4; 6 |]], true
00:03:57 verbose #2463 > > [[| 2; 4; 6 |]], false
00:03:57 verbose #2464 > > }
00:03:57 verbose #2465 > > let rec hasAnyPairCloseToEachotherTests =
00:03:57 verbose #2466 > > runAll (nameof hasAnyPairCloseToEachotherTests) _count solutions testCases
00:03:57 verbose #2467 > > hasAnyPairCloseToEachotherTests
00:03:57 verbose #2468 > > |> sortResultList
00:03:59 verbose #2469 > >
00:03:59 verbose #2470 > > ╭─[ 1.22s - stdout ]───────────────────────────────────────────────────────────╮
00:03:59 verbose #2471 > > │ │
00:03:59 verbose #2472 > > │ │
00:03:59 verbose #2473 > > │ Test: hasAnyPairCloseToEachotherTests │
00:03:59 verbose #2474 > > │ │
00:03:59 verbose #2475 > > │ Solution: 0 │
00:03:59 verbose #2476 > > │ Test case 1. A. Time: 141L │
00:03:59 verbose #2477 > > │ │
00:03:59 verbose #2478 > > │ Solution: 1,2 │
00:03:59 verbose #2479 > > │ Test case 1. A. Time: 81L │
00:03:59 verbose #2480 > > │ │
00:03:59 verbose #2481 > > │ Solution: 3,5 │
00:03:59 verbose #2482 > > │ Test case 1. A. Time: 60L │
00:03:59 verbose #2483 > > │ │
00:03:59 verbose #2484 > > │ Solution: 3,4,6 │
00:03:59 verbose #2485 > > │ Test case 1. A. Time: 65L │
00:03:59 verbose #2486 > > │ │
00:03:59 verbose #2487 > > │ Solution: 2,4,6 │
00:03:59 verbose #2488 > > │ Test case 1. A. Time: 65L │
00:03:59 verbose #2489 > > │ │
00:03:59 verbose #2490 > > │ Input | Expected | Result | Best │
00:03:59 verbose #2491 > > │ --- | --- | --- | --- │
00:03:59 verbose #2492 > > │ 0 | False | False | (1, 141) │
00:03:59 verbose #2493 > > │ 1,2 | True | True | (1, 81) │
00:03:59 verbose #2494 > > │ 3,5 | False | False | (1, 60) │
00:03:59 verbose #2495 > > │ 3,4,6 | True | True | (1, 65) │
00:03:59 verbose #2496 > > │ 2,4,6 | False | False | (1, 65) │
00:03:59 verbose #2497 > > │ │
00:03:59 verbose #2498 > > │ Average Ranking │
00:03:59 verbose #2499 > > │ Test case 1. Average Time: 82L │
00:03:59 verbose #2500 > > │ │
00:03:59 verbose #2501 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:59 verbose #2502 > 00:03:57 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 152378
00:03:59 verbose #2503 > 00:03:57 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:03:59 verbose #2504 > 00:03:58 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb to html
00:03:59 verbose #2505 > 00:03:58 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:03:59 verbose #2506 > 00:03:58 verbose #7 ! validate(nb)
00:04:00 verbose #2507 > 00:03:58 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:04:00 verbose #2508 > 00:03:58 verbose #9 ! return _pygments_highlight(
00:04:00 verbose #2509 > 00:03:59 verbose #10 ! [NbConvertApp] Writing 445307 bytes to /home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.html
00:04:00 verbose #2510 > 00:03:59 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 890
00:04:00 verbose #2511 > 00:03:59 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 890
00:04:00 verbose #2512 > 00:03:59 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:04:01 verbose #2513 > 00:03:59 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:04:01 verbose #2514 > 00:03:59 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:04:01 verbose #2515 > 00:03:59 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 153327
00:04:01 debug #2516 execute_with_options_async / exit_code: 0 / output.Length: 160672
00:04:01 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Perf.dib --retries 3
00:04:01 verbose #28 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:04:01 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 writeDibCode / output: Fs / path: Perf.dib
00:00:00 debug #2 parseDibCode / output: Fs / file: Perf.dib
In [ ]:
{ pwsh ../apps/dir-tree-html/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #28 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path DirTreeHtml.dib",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "DirTreeHtml.dib"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:02 verbose #10 > >
00:00:02 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #13 > > │ # DirTreeHtml (Polyglot) │
00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #15 > >
00:00:02 verbose #16 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:02 verbose #17 > > #r
00:00:02 verbose #18 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
00:00:02 verbose #19 > > dard2.1/FSharp.Control.AsyncSeq.dll"
00:00:02 verbose #20 > > #r
00:00:02 verbose #21 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
00:00:02 verbose #22 > > 0/System.Reactive.dll"
00:00:02 verbose #23 > > #r
00:00:02 verbose #24 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
00:00:02 verbose #25 > > netstandard2.0/System.Reactive.Linq.dll"
00:00:02 verbose #26 > > #r
00:00:02 verbose #27 > > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll"
00:00:02 verbose #28 > > #r
00:00:02 verbose #29 > > @"../../../../../../../.nuget/packages/falco.markup/1.1.1/lib/netstandard2.0/Fal
00:00:02 verbose #30 > > co.Markup.dll"
00:00:02 verbose #31 > >
00:00:02 verbose #32 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:02 verbose #33 > > #r
00:00:02 verbose #34 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:00:02 verbose #35 > > NetCore.Html.Abstractions.dll"
00:00:02 verbose #36 > > #r
00:00:02 verbose #37 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #38 > > Net.Interactive.dll"
00:00:02 verbose #39 > > #r
00:00:02 verbose #40 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #41 > > Net.Interactive.FSharp.dll"
00:00:02 verbose #42 > > #r
00:00:02 verbose #43 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #44 > > Net.Interactive.Formatting.dll"
00:00:02 verbose #45 > > open System
00:00:02 verbose #46 > > open System.IO
00:00:02 verbose #47 > > open System.Text
00:00:02 verbose #48 > > open Microsoft.DotNet.Interactive.Formatting
00:00:04 verbose #49 > >
00:00:04 verbose #50 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 verbose #51 > > #r
00:00:04 verbose #52 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:04 verbose #53 > > Net.Interactive.FSharp.dll"
00:00:04 verbose #54 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:00:04 verbose #55 > > #r
00:00:04 verbose #56 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:04 verbose #57 > > Net.Interactive.dll"
00:00:04 verbose #58 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:04 verbose #59 > >
00:00:04 verbose #60 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:04 verbose #61 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:00:05 verbose #62 > >
00:00:05 verbose #63 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #64 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:00:05 verbose #65 > > TextWriter)->fprintfn writer "%120A" x)
00:00:05 verbose #66 > >
00:00:05 verbose #67 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:05 verbose #68 > > #!import ../../lib/fsharp/Notebooks.dib
00:00:05 verbose #69 > > #!import ../../lib/fsharp/Testing.dib
00:00:05 verbose #70 > >
00:00:05 verbose #71 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #72 > > //// test
00:00:05 verbose #73 > >
00:00:05 verbose #74 > > Formatter.ListExpansionLimit <- 100
00:00:05 verbose #75 > >
00:00:05 verbose #76 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:05 verbose #77 > > #if FABLE_COMPILER
00:00:05 verbose #78 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:05 verbose #79 > > #endif
00:00:05 verbose #80 > > type std_env_VarError = class end
00:00:05 verbose #81 > > #if FABLE_COMPILER
00:00:05 verbose #82 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:05 verbose #83 > > #endif
00:00:05 verbose #84 > > type core_any_Any = class end
00:00:05 verbose #85 > > #if FABLE_COMPILER
00:00:05 verbose #86 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:05 verbose #87 > > #endif
00:00:05 verbose #88 > > type core_ops_Try<'T> = class end
00:00:05 verbose #89 > > #if FABLE_COMPILER
00:00:05 verbose #90 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:05 verbose #91 > > #endif
00:00:05 verbose #92 > > type Func0<'T> = class end
00:00:05 verbose #93 > > #if FABLE_COMPILER
00:00:05 verbose #94 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:05 verbose #95 > > #endif
00:00:05 verbose #96 > > type Func0<'T, 'U> = class end
00:00:05 verbose #97 > > #if FABLE_COMPILER
00:00:05 verbose #98 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:05 verbose #99 > > #endif
00:00:05 verbose #100 > > type Box<'T> = class end
00:00:05 verbose #101 > > #if FABLE_COMPILER
00:00:05 verbose #102 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:05 verbose #103 > > #endif
00:00:05 verbose #104 > > type Dyn<'T> = class end
00:00:05 verbose #105 > > #if FABLE_COMPILER
00:00:05 verbose #106 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:05 verbose #107 > > #endif
00:00:05 verbose #108 > > type Send<'T> = class end
00:00:05 verbose #109 > > #if FABLE_COMPILER
00:00:05 verbose #110 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:05 verbose #111 > > #endif
00:00:05 verbose #112 > > type Fn<'T> = class end
00:00:05 verbose #113 > > #if FABLE_COMPILER
00:00:05 verbose #114 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:05 verbose #115 > > #endif
00:00:05 verbose #116 > > type FnUnit = class end
00:00:05 verbose #117 > > #if FABLE_COMPILER
00:00:05 verbose #118 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:05 verbose #119 > > #endif
00:00:05 verbose #120 > > type FnOnce<'T> = class end
00:00:05 verbose #121 > > #if FABLE_COMPILER
00:00:05 verbose #122 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:05 verbose #123 > > #endif
00:00:05 verbose #124 > > type ActionFn<'T> = class end
00:00:05 verbose #125 > > #if FABLE_COMPILER
00:00:05 verbose #126 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:05 verbose #127 > > #endif
00:00:05 verbose #128 > > type ActionFn2<'T, 'U> = class end
00:00:05 verbose #129 > > #if FABLE_COMPILER
00:00:05 verbose #130 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:05 verbose #131 > > #endif
00:00:05 verbose #132 > > type Impl<'T> = class end
00:00:05 verbose #133 > > #if FABLE_COMPILER
00:00:05 verbose #134 > > [[<Fable...
00:00:06 verbose #135 > >
00:00:06 verbose #136 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:06 verbose #137 > > #if FABLE_COMPILER
00:00:06 verbose #138 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:06 verbose #139 > > #endif
00:00:06 verbose #140 > > type core_any_Any = class end
00:00:06 verbose #141 > > #if FABLE_COMPILER
00:00:06 verbose #142 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:06 verbose #143 > > #endif
00:00:06 verbose #144 > > type core_ops_Try<'T> = class end
00:00:06 verbose #145 > > #if FABLE_COMPILER
00:00:06 verbose #146 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:06 verbose #147 > > #endif
00:00:06 verbose #148 > > type Func0<'T> = class end
00:00:06 verbose #149 > > #if FABLE_COMPILER
00:00:06 verbose #150 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:06 verbose #151 > > #endif
00:00:06 verbose #152 > > type Func0<'T, 'U> = class end
00:00:06 verbose #153 > > #if FABLE_COMPILER
00:00:06 verbose #154 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:06 verbose #155 > > #endif
00:00:06 verbose #156 > > type Box<'T> = class end
00:00:06 verbose #157 > > #if FABLE_COMPILER
00:00:06 verbose #158 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:06 verbose #159 > > #endif
00:00:06 verbose #160 > > type Dyn<'T> = class end
00:00:06 verbose #161 > > #if FABLE_COMPILER
00:00:06 verbose #162 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:06 verbose #163 > > #endif
00:00:06 verbose #164 > > type Send<'T> = class end
00:00:06 verbose #165 > > #if FABLE_COMPILER
00:00:06 verbose #166 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:06 verbose #167 > > #endif
00:00:06 verbose #168 > > type Fn<'T> = class end
00:00:06 verbose #169 > > #if FABLE_COMPILER
00:00:06 verbose #170 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:06 verbose #171 > > #endif
00:00:06 verbose #172 > > type FnUnit = class end
00:00:06 verbose #173 > > #if FABLE_COMPILER
00:00:06 verbose #174 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:06 verbose #175 > > #endif
00:00:06 verbose #176 > > type FnOnce<'T> = class end
00:00:06 verbose #177 > > #if FABLE_COMPILER
00:00:06 verbose #178 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:00:06 verbose #179 > > #endif
00:00:06 verbose #180 > > type ActionFn<'T> = class end
00:00:06 verbose #181 > > #if FABLE_COMPILER
00:00:06 verbose #182 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:00:06 verbose #183 > > #endif
00:00:06 verbose #184 > > type ActionFn2<'T, 'U> = class end
00:00:06 verbose #185 > > #if FABLE_COMPILER
00:00:06 verbose #186 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:00:06 verbose #187 > > #endif
00:00:06 verbose #188 > > type Impl<'T> = class end
00:00:06 verbose #189 > > #if FABLE_COMPILER
00:00:06 verbose #190 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:00:06 verbose #191 > > #endif
00:00:06 verbose #192 > > type Mut<'T> = class end
00:00:06 verbose #193 > > #if FABLE_COMPILER
00:00:06 verbose #194 > > [[<Fable.Core.Erase; Fable.Co...
00:00:07 verbose #195 > >
00:00:07 verbose #196 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #197 > > #if FABLE_COMPILER
00:00:07 verbose #198 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:00:07 verbose #199 > > #endif
00:00:07 verbose #200 > > type async_std_task_JoinHandle<'T> = class end
00:00:07 verbose #201 > > #if FABLE_COMPILER
00:00:07 verbose #202 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:00:07 verbose #203 > > #endif
00:00:07 verbose #204 > > type std_future_Future<'T> = class end
00:00:07 verbose #205 > > #if FABLE_COMPILER
00:00:07 verbose #206 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:00:07 verbose #207 > > #endif
00:00:07 verbose #208 > > type rayon_vec_IntoIter<'T> = class end
00:00:07 verbose #209 > > #if FABLE_COMPILER
00:00:07 verbose #210 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:00:07 verbose #211 > > #endif
00:00:07 verbose #212 > > type rayon_iter_Map<'T> = class end
00:00:07 verbose #213 > > #if FABLE_COMPILER
00:00:07 verbose #214 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:00:07 verbose #215 > > #endif
00:00:07 verbose #216 > > type futures_lite_stream_StreamExt = class end
00:00:07 verbose #217 > > #if FABLE_COMPILER
00:00:07 verbose #218 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:00:07 verbose #219 > > #endif
00:00:07 verbose #220 > > type futures_future_TryJoinAll<'T> = class end
00:00:07 verbose #221 > > #if FABLE_COMPILER
00:00:07 verbose #222 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:00:07 verbose #223 > > #endif
00:00:07 verbose #224 > > type futures_future_Fuse<'T> = class end
00:00:07 verbose #225 > > #if FABLE_COMPILER
00:00:07 verbose #226 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:00:07 verbose #227 > > #endif
00:00:07 verbose #228 > > type futures_future_JoinAll<'T> = class end
00:00:07 verbose #229 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:00:07 verbose #230 > > Async<System.Threading.CancellationToken> =
00:00:07 verbose #231 > > let v1 : bool = true
00:00:07 verbose #232 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:00:07 verbose #233 > >
00:00:07 verbose #234 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:07 verbose #235 > >
00:00:07 verbose #236 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:00:07 verbose #237 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:00:07 verbose #238 > > unbox<Async<System...
00:00:07 verbose #239 > >
00:00:07 verbose #240 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:07 verbose #241 > > #if FABLE_COMPILER
00:00:07 verbose #242 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:00:07 verbose #243 > > #endif
00:00:07 verbose #244 > > type std_thread_JoinHandle<'T> = class end
00:00:07 verbose #245 > > #if FABLE_COMPILER
00:00:07 verbose #246 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:00:07 verbose #247 > > #endif
00:00:07 verbose #248 > > type std_sync_Arc<'T> = class end
00:00:07 verbose #249 > > #if FABLE_COMPILER
00:00:07 verbose #250 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:00:07 verbose #251 > > #endif
00:00:07 verbose #252 > > type std_sync_Mutex<'T> = class end
00:00:07 verbose #253 > > #if FABLE_COMPILER
00:00:07 verbose #254 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:00:07 verbose #255 > > #endif
00:00:07 verbose #256 > > type std_sync_MutexGuard<'T> = class end
00:00:07 verbose #257 > > #if FABLE_COMPILER
00:00:07 verbose #258 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:00:07 verbose #259 > > #endif
00:00:07 verbose #260 > > type std_sync_PoisonError<'T> = class end
00:00:07 verbose #261 > > #if FABLE_COMPILER
00:00:07 verbose #262 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:00:07 verbose #263 > > #endif
00:00:07 verbose #264 > > type std_sync_mpsc_Receiver<'T> = class end
00:00:07 verbose #265 > > #if FABLE_COMPILER
00:00:07 verbose #266 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:00:07 verbose #267 > > #endif
00:00:07 verbose #268 > > type std_sync_mpsc_SendError<'T> = class end
00:00:07 verbose #269 > > #if FABLE_COMPILER
00:00:07 verbose #270 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:00:07 verbose #271 > > #endif
00:00:07 verbose #272 > > type std_sync_mpsc_Sender<'T> = class end
00:00:07 verbose #273 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:00:07 verbose #274 > > _.Dispose () = f ()
00:00:07 verbose #275 > > type [[<Struct>]] US0 =
00:00:07 verbose #276 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:00:07 verbose #277 > > | US0_1
00:00:07 verbose #278 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:00:07 verbose #279 > > let v1 : bool = true
00:00:07 verbose #280 > > let mutable _v1 : unit option = None
00:00:07 verbose #281 > >
00:00:07 verbose #282 > > #if FABLE_COMPILER || WASM || CONTRACT
00:00:07 verbose #283 > >
00:00:07 verbose #284 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:00:08 verbose #285 > >
00:00:08 verbose #286 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:08 verbose #287 > > #if FABLE_COMPILER
00:00:08 verbose #288 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:00:08 verbose #289 > > #endif
00:00:08 verbose #290 > > type reqwest_Error = class end
00:00:08 verbose #291 > > #if FABLE_COMPILER
00:00:08 verbose #292 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:00:08 verbose #293 > > #endif
00:00:08 verbose #294 > > type reqwest_RequestBuilder = class end
00:00:08 verbose #295 > > #if FABLE_COMPILER
00:00:08 verbose #296 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:00:08 verbose #297 > > #endif
00:00:08 verbose #298 > > type reqwest_Response = class end
00:00:08 verbose #299 > > #if FABLE_COMPILER
00:00:08 verbose #300 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:00:08 verbose #301 > > #endif
00:00:08 verbose #302 > > type std_env_VarError = class end
00:00:08 verbose #303 > > #if FABLE_COMPILER
00:00:08 verbose #304 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:08 verbose #305 > > #endif
00:00:08 verbose #306 > > type core_any_Any = class end
00:00:08 verbose #307 > > #if FABLE_COMPILER
00:00:08 verbose #308 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:08 verbose #309 > > #endif
00:00:08 verbose #310 > > type core_ops_Try<'T> = class end
00:00:08 verbose #311 > > #if FABLE_COMPILER
00:00:08 verbose #312 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:08 verbose #313 > > #endif
00:00:08 verbose #314 > > type Func0<'T> = class end
00:00:08 verbose #315 > > #if FABLE_COMPILER
00:00:08 verbose #316 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:08 verbose #317 > > #endif
00:00:08 verbose #318 > > type Func0<'T, 'U> = class end
00:00:08 verbose #319 > > #if FABLE_COMPILER
00:00:08 verbose #320 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:08 verbose #321 > > #endif
00:00:08 verbose #322 > > type Box<'T> = class end
00:00:08 verbose #323 > > #if FABLE_COMPILER
00:00:08 verbose #324 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:00:08 verbose #325 > > #endif
00:00:08 verbose #326 > > type Dyn<'T> = class end
00:00:08 verbose #327 > > #if FABLE_COMPILER
00:00:08 verbose #328 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:00:08 verbose #329 > > #endif
00:00:08 verbose #330 > > type Send<'T> = class end
00:00:08 verbose #331 > > #if FABLE_COMPILER
00:00:08 verbose #332 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:00:08 verbose #333 > > #endif
00:00:08 verbose #334 > > type Fn<'T> = class end
00:00:08 verbose #335 > > #if FABLE_COMPILER
00:00:08 verbose #336 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:00:08 verbose #337 > > #endif
00:00:08 verbose #338 > > type FnUnit = class end
00:00:08 verbose #339 > > #if FABLE_COMPILER
00:00:08 verbose #340 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:00:08 verbose #341 > > #...
00:00:09 verbose #342 > >
00:00:09 verbose #343 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:09 verbose #344 > > #if FABLE_COMPILER
00:00:09 verbose #345 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:00:09 verbose #346 > > #endif
00:00:09 verbose #347 > > type clap_Arg = class end
00:00:09 verbose #348 > > #if FABLE_COMPILER
00:00:09 verbose #349 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:00:09 verbose #350 > > #endif
00:00:09 verbose #351 > > type clap_ArgAction = class end
00:00:09 verbose #352 > > #if FABLE_COMPILER
00:00:09 verbose #353 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:00:09 verbose #354 > > #endif
00:00:09 verbose #355 > > type clap_Command = class end
00:00:09 verbose #356 > > #if FABLE_COMPILER
00:00:09 verbose #357 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:00:09 verbose #358 > > #endif
00:00:09 verbose #359 > > type clap_ArgMatches = class end
00:00:09 verbose #360 > > #if FABLE_COMPILER
00:00:09 verbose #361 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:00:09 verbose #362 > > #endif
00:00:09 verbose #363 > > type clap_builder_ValueRange = class end
00:00:09 verbose #364 > > #if FABLE_COMPILER
00:00:09 verbose #365 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:00:09 verbose #366 > > #endif
00:00:09 verbose #367 > > type clap_builder_ValueParser = class end
00:00:09 verbose #368 > > #if FABLE_COMPILER
00:00:09 verbose #369 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:00:09 verbose #370 > > #endif
00:00:09 verbose #371 > > type clap_builder_PossibleValue = class end
00:00:09 verbose #372 > > #if FABLE_COMPILER
00:00:09 verbose #373 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:00:09 verbose #374 > > #endif
00:00:09 verbose #375 > > type std_process_Child = class end
00:00:09 verbose #376 > > #if FABLE_COMPILER
00:00:09 verbose #377 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:00:09 verbose #378 > > #endif
00:00:09 verbose #379 > > type std_process_ChildStderr = class end
00:00:09 verbose #380 > > #if FABLE_COMPILER
00:00:09 verbose #381 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:00:09 verbose #382 > > #endif
00:00:09 verbose #383 > > type std_process_ChildStdout = class end
00:00:09 verbose #384 > > #if FABLE_COMPILER
00:00:09 verbose #385 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:00:09 verbose #386 > > #endif
00:00:09 verbose #387 > > type std_process_ChildStdin = class end
00:00:09 verbose #388 > > #if FABLE_COMPILER
00:00:09 verbose #389 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:00:09 verbose #390 > > #endif
00:00:09 verbose #391 > > type std_process_Command = class ...
00:00:10 verbose #392 > >
00:00:10 verbose #393 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:10 verbose #394 > > #if FABLE_COMPILER
00:00:10 verbose #395 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:00:10 verbose #396 > > #endif
00:00:10 verbose #397 > > type std_fs_File = class end
00:00:10 verbose #398 > > #if FABLE_COMPILER
00:00:10 verbose #399 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:00:10 verbose #400 > > #endif
00:00:10 verbose #401 > > type std_fs_FileType = class end
00:00:10 verbose #402 > > #if FABLE_COMPILER
00:00:10 verbose #403 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:00:10 verbose #404 > > #endif
00:00:10 verbose #405 > > type std_path_Display = class end
00:00:10 verbose #406 > > #if FABLE_COMPILER
00:00:10 verbose #407 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:00:10 verbose #408 > > #endif
00:00:10 verbose #409 > > type std_path_Path = class end
00:00:10 verbose #410 > > #if FABLE_COMPILER
00:00:10 verbose #411 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:00:10 verbose #412 > > #endif
00:00:10 verbose #413 > > type std_path_PathBuf = class end
00:00:10 verbose #414 > > #if FABLE_COMPILER
00:00:10 verbose #415 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:00:10 verbose #416 > > #endif
00:00:10 verbose #417 > > type async_walkdir_DirEntry = class end
00:00:10 verbose #418 > > #if FABLE_COMPILER
00:00:10 verbose #419 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:00:10 verbose #420 > > #endif
00:00:10 verbose #421 > > type async_walkdir_Filtering = class end
00:00:10 verbose #422 > > #if FABLE_COMPILER
00:00:10 verbose #423 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:00:10 verbose #424 > > #endif
00:00:10 verbose #425 > > type async_walkdir_WalkDir = class end
00:00:10 verbose #426 > > #if FABLE_COMPILER
00:00:10 verbose #427 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:00:10 verbose #428 > > #endif
00:00:10 verbose #429 > > type core_any_Any = class end
00:00:10 verbose #430 > > #if FABLE_COMPILER
00:00:10 verbose #431 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:00:10 verbose #432 > > #endif
00:00:10 verbose #433 > > type core_ops_Try<'T> = class end
00:00:10 verbose #434 > > #if FABLE_COMPILER
00:00:10 verbose #435 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:00:10 verbose #436 > > #endif
00:00:10 verbose #437 > > type Func0<'T> = class end
00:00:10 verbose #438 > > #if FABLE_COMPILER
00:00:10 verbose #439 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:00:10 verbose #440 > > #endif
00:00:10 verbose #441 > > type Func0<'T, 'U> = class end
00:00:10 verbose #442 > > #if FABLE_COMPILER
00:00:10 verbose #443 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:00:10 verbose #444 > > #endif
00:00:10 verbose #445 > > type Box<'T> = clas...
00:00:12 verbose #446 > >
00:00:12 verbose #447 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #448 > > module SpiralTrace =
00:00:12 verbose #449 > > let trace x =
00:00:12 verbose #450 > > #if !INTERACTIVE
00:00:12 verbose #451 > > Trace.trace x
00:00:12 verbose #452 > > #else
00:00:12 verbose #453 > > trace x
00:00:12 verbose #454 > > #endif
00:00:12 verbose #455 > >
00:00:12 verbose #456 > > type TraceLevel =
00:00:12 verbose #457 > > #if !INTERACTIVE
00:00:12 verbose #458 > > Trace.US0
00:00:12 verbose #459 > > #else
00:00:12 verbose #460 > > US0
00:00:12 verbose #461 > > #endif
00:00:12 verbose #462 > >
00:00:12 verbose #463 > > module SpiralCrypto =
00:00:12 verbose #464 > > let hash_text x =
00:00:12 verbose #465 > > #if !INTERACTIVE
00:00:12 verbose #466 > > Crypto.hash_text x
00:00:12 verbose #467 > > #else
00:00:12 verbose #468 > > hash_text x
00:00:12 verbose #469 > > #endif
00:00:12 verbose #470 > >
00:00:12 verbose #471 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:00:12 verbose #472 > >
00:00:12 verbose #473 > > module SpiralAsync =
00:00:12 verbose #474 > > let merge_cancellation_token_with_default_async x =
00:00:12 verbose #475 > > #if !INTERACTIVE
00:00:12 verbose #476 > > Async_.merge_cancellation_token_with_default_async x
00:00:12 verbose #477 > > #else
00:00:12 verbose #478 > > merge_cancellation_token_with_default_async x
00:00:12 verbose #479 > > #endif
00:00:12 verbose #480 > >
00:00:12 verbose #481 > > module SpiralThreading =
00:00:12 verbose #482 > > let new_disposable_token x =
00:00:12 verbose #483 > > #if !INTERACTIVE
00:00:12 verbose #484 > > Threading.new_disposable_token x
00:00:12 verbose #485 > > #else
00:00:12 verbose #486 > > new_disposable_token x
00:00:12 verbose #487 > > #endif
00:00:12 verbose #488 > >
00:00:12 verbose #489 > > module SpiralNetworking =
00:00:12 verbose #490 > > let test_port_open x =
00:00:12 verbose #491 > > #if !INTERACTIVE
00:00:12 verbose #492 > > Networking.test_port_open x
00:00:12 verbose #493 > > #else
00:00:12 verbose #494 > > test_port_open x
00:00:12 verbose #495 > > #endif
00:00:12 verbose #496 > >
00:00:12 verbose #497 > > let test_port_open_timeout x =
00:00:12 verbose #498 > > #if !INTERACTIVE
00:00:12 verbose #499 > > Networking.test_port_open_timeout x
00:00:12 verbose #500 > > #else
00:00:12 verbose #501 > > test_port_open_timeout x
00:00:12 verbose #502 > > #endif
00:00:12 verbose #503 > >
00:00:12 verbose #504 > > let wait_for_port_access x =
00:00:12 verbose #505 > > #if !INTERACTIVE
00:00:12 verbose #506 > > Networking.wait_for_port_access x
00:00:12 verbose #507 > > #else
00:00:12 verbose #508 > > wait_for_port_access x
00:00:12 verbose #509 > > #endif
00:00:12 verbose #510 > >
00:00:12 verbose #511 > > let get_available_port x =
00:00:12 verbose #512 > > #if !INTERACTIVE
00:00:12 verbose #513 > > Networking.get_available_port x
00:00:12 verbose #514 > > #else
00:00:12 verbose #515 > > get_available_port x
00:00:12 verbose #516 > > #endif
00:00:12 verbose #517 > >
00:00:12 verbose #518 > > module SpiralRuntime =
00:00:12 verbose #519 > > let get_executable_suffix () =
00:00:12 verbose #520 > > #if !INTERACTIVE
00:00:12 verbose #521 > > Runtime.get_executable_suffix ()
00:00:12 verbose #522 > > #else
00:00:12 verbose #523 > > get_executable_suffix ()
00:00:12 verbose #524 > > #endif
00:00:12 verbose #525 > >
00:00:12 verbose #526 > > let is_windows () =
00:00:12 verbose #527 > > #if !INTERACTIVE
00:00:12 verbose #528 > > ...
00:00:12 verbose #529 > >
00:00:12 verbose #530 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #531 > > #r @"../../../../../../../.nuget/packages/expecto/10.2.1/lib/net6.0/Expecto.dll"
00:00:12 verbose #532 > >
00:00:12 verbose #533 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #534 > > //// test
00:00:12 verbose #535 > >
00:00:12 verbose #536 > > type AssertExceptionFormatter (ex) =
00:00:12 verbose #537 > > member _.Text =
00:00:12 verbose #538 > > ex.ToString()
00:00:12 verbose #539 > > .Replace("32m", "<span style=\"color: green;\">")
00:00:12 verbose #540 > > .Replace("36m", "</span>")
00:00:12 verbose #541 > > .Replace("31m", "<span style=\"color: red;\">")
00:00:12 verbose #542 > > .Replace("\n", "<br/>\n")
00:00:12 verbose #543 > >
00:00:12 verbose #544 > >
00:00:12 verbose #545 > > Formatter.Register<AssertExceptionFormatter> ((fun (x :
00:00:12 verbose #546 > > AssertExceptionFormatter) -> x.Text), "text/html")
00:00:12 verbose #547 > >
00:00:12 verbose #548 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #549 > > //// test
00:00:12 verbose #550 > >
00:00:12 verbose #551 > > let inline __expect fn log expected actual =
00:00:12 verbose #552 > > if log then printfn $"{actual.ToDisplayString ()}"
00:00:12 verbose #553 > > try
00:00:12 verbose #554 > > "Testing.__expect" |> fn actual expected
00:00:12 verbose #555 > > with :? Expecto.AssertException as ex ->
00:00:12 verbose #556 > > AssertExceptionFormatter(ex).Display () |> ignore
00:00:12 verbose #557 > > failwith (ex.GetType().FullName)
00:00:12 verbose #558 > >
00:00:12 verbose #559 > > let inline __contains log expected actual = __expect Expecto.Expect.contains log
00:00:12 verbose #560 > > expected actual
00:00:12 verbose #561 > > let inline _contains expected actual = __contains true expected actual
00:00:12 verbose #562 > >
00:00:12 verbose #563 > > let inline __assertEqual log expected actual = __expect Expecto.Expect.equal log
00:00:12 verbose #564 > > expected actual
00:00:12 verbose #565 > > let inline _assertEqual expected actual = __assertEqual true expected actual
00:00:12 verbose #566 > >
00:00:12 verbose #567 > > let inline __isGreaterThan log expected actual = __expect
00:00:12 verbose #568 > > Expecto.Expect.isGreaterThan log expected actual
00:00:12 verbose #569 > > let inline _isGreaterThan expected actual = __isGreaterThan true expected actual
00:00:12 verbose #570 > >
00:00:12 verbose #571 > > let inline __isGreaterThanOrEqual log expected actual = __expect
00:00:12 verbose #572 > > Expecto.Expect.isGreaterThanOrEqual log expected actual
00:00:12 verbose #573 > > let inline _isGreaterThanOrEqual expected actual = __isGreaterThanOrEqual true
00:00:12 verbose #574 > > expected actual
00:00:12 verbose #575 > >
00:00:12 verbose #576 > > let inline __isLessThan log expected actual = __expect Expecto.Expect.isLessThan
00:00:12 verbose #577 > > log expected actual
00:00:12 verbose #578 > > let inline _isLessThan expected actual = __isLessThan true expected actual
00:00:12 verbose #579 > >
00:00:12 verbose #580 > > let inline __isLessThanOrEqual log expected actual = __expect
00:00:12 verbose #581 > > Expecto.Expect.isLessThanOrEqual log expected actual
00:00:12 verbose #582 > > let inline _isLessThanOrEqual expected actual = __isLessThanOrEqual true
00:00:12 verbose #583 > > expected actual
00:00:12 verbose #584 > >
00:00:12 verbose #585 > > let inline __sequenceEqual log expected actual = __expe...
00:00:12 verbose #586 > >
00:00:12 verbose #587 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #588 > > //// test
00:00:12 verbose #589 > >
00:00:12 verbose #590 > > let inline __isBetween log a b actual =
00:00:12 verbose #591 > > let inline isBetween actual (a, b) _ =
00:00:12 verbose #592 > > __isGreaterThanOrEqual log a actual
00:00:12 verbose #593 > > __isLessThanOrEqual log b actual
00:00:12 verbose #594 > > __expect isBetween log (a, b) actual
00:00:12 verbose #595 > > let inline _isBetween a b actual = __isBetween true a b actual
00:00:12 verbose #596 > >
00:00:12 verbose #597 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #598 > > #!import ../../lib/fsharp/Common.fs
00:00:12 verbose #599 > > #!import ../../lib/fsharp/CommonFSharp.fs
00:00:12 verbose #600 > > #!import ../../lib/fsharp/Async.fs
00:00:12 verbose #601 > > #!import ../../lib/fsharp/AsyncSeq.fs
00:00:12 verbose #602 > > #!import ../../lib/fsharp/Runtime.fs
00:00:12 verbose #603 > > #!import ../../lib/fsharp/FileSystem.fs
00:00:12 verbose #604 > >
00:00:12 verbose #605 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #606 > > #if !INTERACTIVE
00:00:12 verbose #607 > > namespace Polyglot
00:00:12 verbose #608 > > #endif
00:00:12 verbose #609 > >
00:00:12 verbose #610 > > module Common =
00:00:12 verbose #611 > >
00:00:12 verbose #612 > > #if !INTERACTIVE
00:00:12 verbose #613 > > open Lib
00:00:12 verbose #614 > > #endif
00:00:12 verbose #615 > >
00:00:12 verbose #616 > > let nl = System.Environment.NewLine
00:00:12 verbose #617 > > let q = @""""
00:00:12 verbose #618 > >
00:00:12 verbose #619 > > let inline cons head tail = head :: tail
00:00:12 verbose #620 > >
00:00:12 verbose #621 > > /// ## memoize
00:00:12 verbose #622 > > let inline memoize fn =
00:00:12 verbose #623 > > let result = lazy fn ()
00:00:12 verbose #624 > > fun () -> result.Value
00:00:12 verbose #625 > >
00:00:12 verbose #626 > > /// ## TraceLevel
00:00:12 verbose #627 > > type TraceLevel =
00:00:12 verbose #628 > > | Verbose
00:00:12 verbose #629 > > | Debug
00:00:12 verbose #630 > > | Info
00:00:12 verbose #631 > > | Warning
00:00:12 verbose #632 > > | Critical
00:00:12 verbose #633 > >
00:00:12 verbose #634 > > let inline _locals () = ""
00:00:12 verbose #635 > >
00:00:12 verbose #636 > > /// ## trace
00:00:12 verbose #637 > > let to_trace_level = function
00:00:12 verbose #638 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:00:12 verbose #639 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:00:12 verbose #640 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:00:12 verbose #641 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:00:12 verbose #642 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:00:12 verbose #643 > >
00:00:12 verbose #644 > > let trace level fn locals =
00:00:12 verbose #645 > > let level = level |> to_trace_level
00:00:12 verbose #646 > > SpiralTrace.trace level fn locals
00:00:12 verbose #647 > >
00:00:12 verbose #648 > >
00:00:12 verbose #649 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #650 > > #if !INTERACTIVE
00:00:12 verbose #651 > > namespace Polyglot
00:00:12 verbose #652 > > #endif
00:00:12 verbose #653 > >
00:00:12 verbose #654 > > module CommonFSharp =
00:00:12 verbose #655 > >
00:00:12 verbose #656 > > open Common
00:00:12 verbose #657 > >
00:00:12 verbose #658 > > /// ## getUnionCaseName
00:00:12 verbose #659 > > let inline getUnionCaseName<'T> (x: 'T) =
00:00:12 verbose #660 > > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
00:00:12 verbose #661 > > | case, _ -> case.Name
00:00:12 verbose #662 > >
00:00:12 verbose #663 > >
00:00:12 verbose #664 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:12 verbose #665 > > #if !INTERACTIVE
00:00:12 verbose #666 > > namespace Polyglot
00:00:12 verbose #667 > > #endif
00:00:12 verbose #668 > >
00:00:12 verbose #669 > > module Async =
00:00:12 verbose #670 > >
00:00:12 verbose #671 > > #if !INTERACTIVE
00:00:12 verbose #672 > > open Lib
00:00:12 verbose #673 > > #endif
00:00:12 verbose #674 > >
00:00:12 verbose #675 > > open Common
00:00:12 verbose #676 > >
00:00:12 verbose #677 > > /// ## choice
00:00:12 verbose #678 > > let inline choice asyncs = async {
00:00:12 verbose #679 > > let e = Event<_> ()
00:00:12 verbose #680 > > use cts = new System.Threading.CancellationTokenSource ()
00:00:12 verbose #681 > > let fn =
00:00:12 verbose #682 > > asyncs
00:00:12 verbose #683 > > |> Seq.map (fun a -> async {
00:00:12 verbose #684 > > let! x = a
00:00:12 verbose #685 > > e.Trigger x
00:00:12 verbose #686 > > })
00:00:12 verbose #687 > > |> Async.Parallel
00:00:12 verbose #688 > > |> Async.Ignore
00:00:12 verbose #689 > > Async.Start (fn, cts.Token)
00:00:12 verbose #690 > > let! result = Async.AwaitEvent e.Publish
00:00:12 verbose #691 > > cts.Cancel ()
00:00:12 verbose #692 > > return result
00:00:12 verbose #693 > > }
00:00:12 verbose #694 > >
00:00:12 verbose #695 > > /// ## map
00:00:12 verbose #696 > > let inline map fn a = async {
00:00:12 verbose #697 > > let! x = a
00:00:12 verbose #698 > > return fn x
00:00:12 verbose #699 > > }
00:00:12 verbose #700 > >
00:00:12 verbose #701 > > /// ## catch
00:00:12 verbose #702 > > let inline catch a =
00:00:12 verbose #703 > > a
00:00:12 verbose #704 > > |> Async.Catch
00:00:12 verbose #705 > > |> map (function
00:00:12 verbose #706 > > | Choice1Of2 result -> Ok result
00:00:12 verbose #707 > > | Choice2Of2 ex -> Error ex
00:00:12 verbose #708 > > )
00:00:12 verbose #709 > >
00:00:12 verbose #710 > > /// ## runWithTimeoutChoiceAsync
00:00:12 verbose #711 > > let inline runWithTimeoutChoiceAsync (timeout : int) fn =
00:00:12 verbose #712 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:00:12 verbose #713 > >
00:00:12 verbose #714 > > let timeoutTask = async {
00:00:12 verbose #715 > > do! Async.Sleep timeout
00:00:12 verbose #716 > > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals
00:00:12 verbose #717 > > return None
00:00:12 verbose #718 > > }
00:00:12 verbose #719 > >
00:00:12 verbose #720 > > let task = async {
00:00:12 verbose #721 > > try
00:00:12 verbose #722 > > let! result = fn
00:00:12 verbose #723 > > return Some result
00:00:12 verbose #724 > > with
00:00:12 verbose #725 > > | :? System.AggregateException as ex when
00:00:12 verbose #726 > > ex.InnerExceptions
00:00:12 verbose #727 > > |> Seq.exists (function :? Sys...
00:00:13 verbose #728 > >
00:00:13 verbose #729 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:13 verbose #730 > > #if !INTERACTIVE
00:00:13 verbose #731 > > namespace Polyglot
00:00:13 verbose #732 > > #endif
00:00:13 verbose #733 > >
00:00:13 verbose #734 > > module AsyncSeq =
00:00:13 verbose #735 > >
00:00:13 verbose #736 > > #if !INTERACTIVE
00:00:13 verbose #737 > > open Lib
00:00:13 verbose #738 > > #endif
00:00:13 verbose #739 > >
00:00:13 verbose #740 > > open Common
00:00:13 verbose #741 > >
00:00:13 verbose #742 > > /// ## subscribeEvent
00:00:13 verbose #743 > > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
00:00:13 verbose #744 > > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
00:00:13 verbose #745 > > 'A>(event.AddHandler, event.RemoveHandler)
00:00:13 verbose #746 > > System.Reactive.Linq.Observable.Select (observable, fun event -> map
00:00:13 verbose #747 > > event.EventArgs)
00:00:13 verbose #748 > > |> FSharp.Control.AsyncSeq.ofObservableBuffered
00:00:13 verbose #749 > >
00:00:13 verbose #750 > > /// ## subscribeToken
00:00:13 verbose #751 > > let subscribeToken (token : System.Threading.CancellationToken) =
00:00:13 verbose #752 > > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
00:00:13 verbose #753 > > System.Action tcs.SetResult |> token.Register |> ignore
00:00:13 verbose #754 > > let start = System.DateTime.Now.Ticks
00:00:13 verbose #755 > > FSharp.Control.AsyncSeq.unfoldAsync
00:00:13 verbose #756 > > (fun () -> async {
00:00:13 verbose #757 > > do! tcs.Task |> Async.AwaitTask
00:00:13 verbose #758 > > return Some (System.DateTime.Now.Ticks - start, ())
00:00:13 verbose #759 > > })
00:00:13 verbose #760 > > ()
00:00:13 verbose #761 > >
00:00:13 verbose #762 > >
00:00:13 verbose #763 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:13 verbose #764 > > #if !INTERACTIVE
00:00:13 verbose #765 > > namespace Polyglot
00:00:13 verbose #766 > > #endif
00:00:13 verbose #767 > >
00:00:13 verbose #768 > > module Runtime =
00:00:13 verbose #769 > >
00:00:13 verbose #770 > > #if !INTERACTIVE
00:00:13 verbose #771 > > open Lib
00:00:13 verbose #772 > > #endif
00:00:13 verbose #773 > >
00:00:13 verbose #774 > > open Common
00:00:13 verbose #775 > >
00:00:13 verbose #776 > > /// ## parseArgs
00:00:13 verbose #777 > > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:00:13 verbose #778 > > let assemblyName =
00:00:13 verbose #779 > > System.Reflection.Assembly.GetEntryAssembly().GetName().Name
00:00:13 verbose #780 > > let errorHandler : Argu.IExiter =
00:00:13 verbose #781 > > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |>
00:00:13 verbose #782 > > List.contains assemblyName
00:00:13 verbose #783 > > then Argu.ExceptionExiter ()
00:00:13 verbose #784 > > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None |
00:00:13 verbose #785 > > _ -> Some System.ConsoleColor.Red)
00:00:13 verbose #786 > >
00:00:13 verbose #787 > > let parser =
00:00:13 verbose #788 > > Argu.ArgumentParser.Create<'T> (
00:00:13 verbose #789 > > programName =
00:00:13 verbose #790 > > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}",
00:00:13 verbose #791 > > errorHandler = errorHandler
00:00:13 verbose #792 > > )
00:00:13 verbose #793 > >
00:00:13 verbose #794 > > parser.ParseCommandLine args
00:00:13 verbose #795 > >
00:00:13 verbose #796 > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:00:13 verbose #797 > > args
00:00:13 verbose #798 > > |> parseArgs<'T>
00:00:13 verbose #799 > > |> fun results -> results.GetAllResults ()
00:00:13 verbose #800 > >
00:00:13 verbose #801 > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =
00:00:13 verbose #802 > > args
00:00:13 verbose #803 > > |> parseAllArgs<'T>
00:00:13 verbose #804 > > |> List.groupBy CommonFSharp.getUnionCaseName<'T>
00:00:13 verbose #805 > > |> Map.ofList
00:00:13 verbose #806 > >
00:00:13 verbose #807 > >
00:00:13 verbose #808 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:00:13 verbose #809 > > #if !INTERACTIVE
00:00:13 verbose #810 > > namespace Polyglot
00:00:13 verbose #811 > > #endif
00:00:13 verbose #812 > >
00:00:13 verbose #813 > > module FileSystem =
00:00:13 verbose #814 > >
00:00:13 verbose #815 > > #if !INTERACTIVE
00:00:13 verbose #816 > > open Lib
00:00:13 verbose #817 > > #endif
00:00:13 verbose #818 > >
00:00:13 verbose #819 > > open Common
00:00:13 verbose #820 > > open SpiralFileSystem.Operators
00:00:13 verbose #821 > >
00:00:13 verbose #822 > > /// ## watchDirectory
00:00:13 verbose #823 > > [[<RequireQualifiedAccess>]]
00:00:13 verbose #824 > > type FileSystemChangeType =
00:00:13 verbose #825 > > | Failure
00:00:13 verbose #826 > > | Changed
00:00:13 verbose #827 > > | Created
00:00:13 verbose #828 > > | Deleted
00:00:13 verbose #829 > > | Renamed
00:00:13 verbose #830 > >
00:00:13 verbose #831 > > [[<RequireQualifiedAccess>]]
00:00:13 verbose #832 > > type FileSystemChange =
00:00:13 verbose #833 > > | Failure of exn: exn
00:00:13 verbose #834 > > | Changed of path: string * content: string option
00:00:13 verbose #835 > > | Created of path: string * content: string option
00:00:13 verbose #836 > > | Deleted of path: string
00:00:13 verbose #837 > > | Renamed of oldPath: string * (string * string option)
00:00:13 verbose #838 > >
00:00:13 verbose #839 > >
00:00:13 verbose #840 > > let inline watchDirectoryWithFilter filter shouldReadContent path =
00:00:13 verbose #841 > > let fullPath = path |> System.IO.Path.GetFullPath
00:00:13 verbose #842 > > let _locals () = $"filter: {filter} / {_locals ()}"
00:00:13 verbose #843 > >
00:00:13 verbose #844 > > let watcher =
00:00:13 verbose #845 > > new System.IO.FileSystemWatcher (
00:00:13 verbose #846 > > Path = fullPath,
00:00:13 verbose #847 > > NotifyFilter = filter,
00:00:13 verbose #848 > > EnableRaisingEvents = true,
00:00:13 verbose #849 > > IncludeSubdirectories = true
00:00:13 verbose #850 > > )
00:00:13 verbose #851 > >
00:00:13 verbose #852 > > let inline getEventPath (path : string) =
00:00:13 verbose #853 > > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |>
00:00:13 verbose #854 > > SpiralSm.trim_start [[| '/'; '\\' |]]
00:00:13 verbose #855 > >
00:00:13 verbose #856 > > let inline ticks () =
00:00:13 verbose #857 > > System.DateTime.UtcNow.Ticks
00:00:13 verbose #858 > >
00:00:13 verbose #859 > > let changedStream =
00:00:13 verbose #860 > > AsyncSeq.subscribeEvent
00:00:13 verbose #861 > > watcher.Changed
00:00:13 verbose #862 > > (fun event ->
00:00:13 verbose #863 > > ticks (),
00:00:13 verbose #864 > > [[ FileSystemChange...
00:00:14 verbose #865 > >
00:00:14 verbose #866 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #867 > > #if !INTERACTIVE
00:00:14 verbose #868 > > open Lib
00:00:14 verbose #869 > > #endif
00:00:14 verbose #870 > >
00:00:14 verbose #871 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #872 > > open SpiralFileSystem.Operators
00:00:14 verbose #873 > > open Falco.Markup
00:00:14 verbose #874 > >
00:00:14 verbose #875 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #876 > > type FileSystemNode =
00:00:14 verbose #877 > > | File of string * string * int64
00:00:14 verbose #878 > > | Folder of string * string * FileSystemNode list
00:00:14 verbose #879 > > | Root of FileSystemNode list
00:00:14 verbose #880 > >
00:00:14 verbose #881 > > let rec scanDirectory isRoot (basePath : string) (path : string) =
00:00:14 verbose #882 > > let relativePath =
00:00:14 verbose #883 > > path
00:00:14 verbose #884 > > |> SpiralSm.replace basePath ""
00:00:14 verbose #885 > > |> SpiralSm.replace "\\" "/"
00:00:14 verbose #886 > > |> SpiralSm.replace "//" "/"
00:00:14 verbose #887 > > |> SpiralSm.trim_start [[| '/' |]]
00:00:14 verbose #888 > >
00:00:14 verbose #889 > > let directories =
00:00:14 verbose #890 > > path
00:00:14 verbose #891 > > |> System.IO.Directory.GetDirectories
00:00:14 verbose #892 > > |> Array.toList
00:00:14 verbose #893 > > |> List.sort
00:00:14 verbose #894 > > |> List.map (scanDirectory false basePath)
00:00:14 verbose #895 > > let files =
00:00:14 verbose #896 > > path
00:00:14 verbose #897 > > |> System.IO.Directory.GetFiles
00:00:14 verbose #898 > > |> Array.toList
00:00:14 verbose #899 > > |> List.sort
00:00:14 verbose #900 > > |> List.map (fun f -> File (System.IO.Path.GetFileName f, relativePath,
00:00:14 verbose #901 > > System.IO.FileInfo(f).Length))
00:00:14 verbose #902 > >
00:00:14 verbose #903 > > let children = directories @ files
00:00:14 verbose #904 > > if isRoot
00:00:14 verbose #905 > > then Root children
00:00:14 verbose #906 > > else Folder (path |> System.IO.Path.GetFileName, relativePath, children)
00:00:14 verbose #907 > >
00:00:14 verbose #908 > > let rec generateHtml fsNode =
00:00:14 verbose #909 > > let sizeLabel size =
00:00:14 verbose #910 > > match float size with
00:00:14 verbose #911 > > | size when size > 1024.0 * 1024.0 -> $"%.2f{size / 1024.0 / 1024.0} MB"
00:00:14 verbose #912 > > | size when size > 1024.0 -> $"%.2f{size / 1024.0} KB"
00:00:14 verbose #913 > > | size -> $"%.2f{size} B"
00:00:14 verbose #914 > > match fsNode with
00:00:14 verbose #915 > > | File (fileName, relativePath, size) ->
00:00:14 verbose #916 > > Elem.div [[]] [[
00:00:14 verbose #917 > > Text.raw "📄 "
00:00:14 verbose #918 > > Elem.a [[
00:00:14 verbose #919 > > Attr.href $"""{relativePath}{if relativePath = "" then "" else
00:00:14 verbose #920 > > "/"}{fileName}"""
00:00:14 verbose #921 > > ]] [[
00:00:14 verbose #922 > > Text.raw fileName
00:00:14 verbose #923 > > ]]
00:00:14 verbose #924 > > Elem.span [[]] [[
00:00:14 verbose #925 > > Text.raw $" ({size |> sizeLabel})"
00:00:14 verbose #926 > > ]]
00:00:14 verbose #927 > > ]]
00:00:14 verbose #928 > > | Folder (folderName, relativePath, children) ->
00:00:14 verbose #929 > > let size =
00:00:14 verbose #930 > > let rec loop children =
00:00:14 verbose #931 > > children
00:00:14 verbose #932 > > |> List.sumBy (function
00:00:14 verbose #933 > > | File (_, _, size) -> size
00:00:14 verbose #934 > > | Folder (_, _, children)
00:00:14 verbose #935 > > | Root children -> loop children
00:00:14 verbose #936 > > )
00:00:14 verbose #937 > > loop children
00:00:14 verbose #938 > > Elem.details [[
00:00:14 verbose #939 > > Attr.open' "true"
00:00:14 verbose #940 > > ]] [[
00:00:14 verbose #941 > > Elem.summary [[]] [[
00:00:14 verbose #942 > > Text.raw "📂 "
00:00:14 verbose #943 > > Elem.a [[
00:00:14 verbose #944 > > Attr.href relativePath
00:00:14 verbose #945 > > ]] [[
00:00:14 verbose #946 > > Text.raw folderName
00:00:14 verbose #947 > > ]]
00:00:14 verbose #948 > > Elem.span [[]] [[
00:00:14 verbose #949 > > Text.raw $" ({size |> sizeLabel})"
00:00:14 verbose #950 > > ]]
00:00:14 verbose #951 > > ]]
00:00:14 verbose #952 > > Elem.div [[]] [[
00:00:14 verbose #953 > > yield! children |> List.map generateHtml
00:00:14 verbose #954 > > ]]
00:00:14 verbose #955 > > ]]
00:00:14 verbose #956 > > | Root children ->
00:00:14 verbose #957 > > Elem.div [[]] [[
00:00:14 verbose #958 > > yield! children |> List.map generateHtml
00:00:14 verbose #959 > > ]]
00:00:14 verbose #960 > >
00:00:14 verbose #961 > > let generateHtmlForFileSystem root =
00:00:14 verbose #962 > > $"""<!DOCTYPE html>
00:00:14 verbose #963 > > <html lang="en">
00:00:14 verbose #964 > > <head>
00:00:14 verbose #965 > > <meta charset="UTF-8">
00:00:14 verbose #966 > > <style>
00:00:14 verbose #967 > > body {{
00:00:14 verbose #968 > > background-color: #222;
00:00:14 verbose #969 > > color: #ccc;
00:00:14 verbose #970 > > }}
00:00:14 verbose #971 > > a {{
00:00:14 verbose #972 > > color: #777;
00:00:14 verbose #973 > > font-size: 15px;
00:00:14 verbose #974 > > }}
00:00:14 verbose #975 > > span {{
00:00:14 verbose #976 > > font-size: 11px;
00:00:14 verbose #977 > > }}
00:00:14 verbose #978 > > div > div {{
00:00:14 verbose #979 > > padding-left: 10px;
00:00:14 verbose #980 > > }}
00:00:14 verbose #981 > > details > div {{
00:00:14 verbose #982 > > padding-left: 19px;
00:00:14 verbose #983 > > }}
00:00:14 verbose #984 > > </style>
00:00:14 verbose #985 > > </head>
00:00:14 verbose #986 > > <body>
00:00:14 verbose #987 > > {root |> generateHtml |> renderNode}
00:00:14 verbose #988 > > </body>
00:00:14 verbose #989 > > </html>
00:00:14 verbose #990 > > """
00:00:14 verbose #991 > >
00:00:14 verbose #992 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #993 > > //// test
00:00:14 verbose #994 > >
00:00:14 verbose #995 > > let struct (tempFolder, disposable) = SpiralFileSystem.create_temp_directory ()
00:00:14 verbose #996 > > let rec loop d n = async {
00:00:14 verbose #997 > > if n >= 0 then
00:00:14 verbose #998 > > tempFolder </> d |> System.IO.Directory.CreateDirectory |> ignore
00:00:14 verbose #999 > > do!
00:00:14 verbose #1000 > > n
00:00:14 verbose #1001 > > |> string
00:00:14 verbose #1002 > > |> String.replicate (n + 1)
00:00:14 verbose #1003 > > |> SpiralFileSystem.write_all_text_async (tempFolder </> d </>
00:00:14 verbose #1004 > > $"file.txt")
00:00:14 verbose #1005 > > do! loop $"{d}/{n}" (n - 1)
00:00:14 verbose #1006 > > }
00:00:14 verbose #1007 > > loop "_.root" 3
00:00:14 verbose #1008 > > |> Async.RunSynchronously
00:00:14 verbose #1009 > >
00:00:14 verbose #1010 > > let html =
00:00:14 verbose #1011 > > scanDirectory true tempFolder tempFolder
00:00:14 verbose #1012 > > |> generateHtmlForFileSystem
00:00:14 verbose #1013 > >
00:00:14 verbose #1014 > > html
00:00:14 verbose #1015 > > |> _assertEqual """<!DOCTYPE html>
00:00:14 verbose #1016 > > <html lang="en">
00:00:14 verbose #1017 > > <head>
00:00:14 verbose #1018 > > <meta charset="UTF-8">
00:00:14 verbose #1019 > > <style>
00:00:14 verbose #1020 > > body {
00:00:14 verbose #1021 > > background-color: #222;
00:00:14 verbose #1022 > > color: #ccc;
00:00:14 verbose #1023 > > }
00:00:14 verbose #1024 > > a {
00:00:14 verbose #1025 > > color: #777;
00:00:14 verbose #1026 > > font-size: 15px;
00:00:14 verbose #1027 > > }
00:00:14 verbose #1028 > > span {
00:00:14 verbose #1029 > > font-size: 11px;
00:00:14 verbose #1030 > > }
00:00:14 verbose #1031 > > div > div {
00:00:14 verbose #1032 > > padding-left: 10px;
00:00:14 verbose #1033 > > }
00:00:14 verbose #1034 > > details > div {
00:00:14 verbose #1035 > > padding-left: 19px;
00:00:14 verbose #1036 > > }
00:00:14 verbose #1037 > > </style>
00:00:14 verbose #1038 > > </head>
00:00:14 verbose #1039 > > <body>
00:00:14 verbose #1040 > > <div><details open="true"><summary>📂 <a href="_.root">_.root</a><span>
00:00:14 verbose #1041 > > (10.00 B)</span></summary><div><details open="true"><summary>📂 <a
00:00:14 verbose #1042 > > href="_.root/3">3</a><span> (6.00 B)</span></summary><div><details
00:00:14 verbose #1043 > > open="true"><summary>📂 <a href="_.root/3/2">2</a><span> (3.00
00:00:14 verbose #1044 > > B)</span></summary><div><details open="true"><summary>📂 <a
00:00:14 verbose #1045 > > href="_.root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>📄 <a
00:00:14 verbose #1046 > > href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00
00:00:14 verbose #1047 > > B)</span></div></div></details><div>📄 <a
00:00:14 verbose #1048 > > href="_.root/3/2/file.txt">file.txt</a><span> (2.00
00:00:14 verbose #1049 > > B)</span></div></div></details><div>📄 <a
00:00:14 verbose #1050 > > href="_.root/3/file.txt">file.txt</a><span> (3.00
00:00:14 verbose #1051 > > B)</span></div></div></details><div>📄 <a
00:00:14 verbose #1052 > > href="_.root/file.txt">file.txt</a><span> (4.00
00:00:14 verbose #1053 > > B)</span></div></div></details></div>
00:00:14 verbose #1054 > > </body>
00:00:14 verbose #1055 > > </html>
00:00:14 verbose #1056 > > """
00:00:14 verbose #1057 > >
00:00:14 verbose #1058 > > disposable.Dispose ()
00:00:14 verbose #1059 > >
00:00:14 verbose #1060 > > html |> Microsoft.DotNet.Interactive.Formatting.Html.ToHtmlContent
00:00:14 verbose #1061 > >
00:00:14 verbose #1062 > > ╭─[ 128.64ms - return value ]──────────────────────────────────────────────────╮
00:00:14 verbose #1063 > > │ <!DOCTYPE html> │
00:00:14 verbose #1064 > > │ <html lang="en"> │
00:00:14 verbose #1065 > > │ <head> │
00:00:14 verbose #1066 > > │ <meta charset="UTF-8"> │
00:00:14 verbose #1067 > > │ <style> │
00:00:14 verbose #1068 > > │ body { │
00:00:14 verbose #1069 > > │ background-color: #222; │
00:00:14 verbose #1070 > > │ color: #ccc; │
00:00:14 verbose #1071 > > │ } │
00:00:14 verbose #1072 > > │ a { │
00:00:14 verbose #1073 > > │ color: #777; │
00:00:14 verbose #1074 > > │ font-size: 15px; │
00:00:14 verbose #1075 > > │ } │
00:00:14 verbose #1076 > > │ span { │
00:00:14 verbose #1077 > > │ font-size: 11px; │
00:00:14 verbose #1078 > > │ } │
00:00:14 verbose #1079 > > │ div > div { │
00:00:14 verbose #1080 > > │ padding-left: 10px; │
00:00:14 verbose #1081 > > │ } │
00:00:14 verbose #1082 > > │ details > div { │
00:00:14 verbose #1083 > > │ padding-left: 19px; │
00:00:14 verbose #1084 > > │ } │
00:00:14 verbose #1085 > > │ </style> │
00:00:14 verbose #1086 > > │ </head> │
00:00:14 verbose #1087 > > │ <body> │
00:00:14 verbose #1088 > > │ <div><details open="true"><summary>📂 <a │
00:00:14 verbose #1089 > > │ href="_.root">_.root</a><span> (10.00 B)</span></summary><div><details │
00:00:14 verbose #1090 > > │ open="true"><summary>📂 <a href="_.root/3">3</a><span> (6.00 │
00:00:14 verbose #1091 > > │ B)</span></summary><div><details open="true"><summary>📂 <a │
00:00:14 verbose #1092 > > │ href="_.root/3/2">2</a><span> (3.00 B)</span></summary><div><details │
00:00:14 verbose #1093 > > │ open="true"><summary>📂 <a href="_.root/3/2/1">1</a><span> (1.00 │
00:00:14 verbose #1094 > > │ B)</span></summary><div><div>📄 <a │
00:00:14 verbose #1095 > > │ href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00 │
00:00:14 verbose #1096 > > │ B)</span></div></div></details><div>📄 <a │
00:00:14 verbose #1097 > > │ href="_.root/3/2/file.txt">file.txt</a><span> (2.00 │
00:00:14 verbose #1098 > > │ B)</span></div></div></details><div>📄 <a │
00:00:14 verbose #1099 > > │ href="_.root/3/file.txt">file.txt</a><span> (3.00 │
00:00:14 verbose #1100 > > │ B)</span></div></div></details><div>📄 <a │
00:00:14 verbose #1101 > > │ href="_.root/file.txt">file.txt</a><span> (4.00 │
00:00:14 verbose #1102 > > │ B)</span></div></div></details></div> │
00:00:14 verbose #1103 > > │ </body> │
00:00:14 verbose #1104 > > │ </html> │
00:00:14 verbose #1105 > > │ │
00:00:14 verbose #1106 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1107 > >
00:00:14 verbose #1108 > > ╭─[ 132.43ms - stdout ]────────────────────────────────────────────────────────╮
00:00:14 verbose #1109 > > │ "<!DOCTYPE html> │
00:00:14 verbose #1110 > > │ <html lang="en"> │
00:00:14 verbose #1111 > > │ <head> │
00:00:14 verbose #1112 > > │ <meta charset="UTF-8"> │
00:00:14 verbose #1113 > > │ <style> │
00:00:14 verbose #1114 > > │ body { │
00:00:14 verbose #1115 > > │ background-color: #222; │
00:00:14 verbose #1116 > > │ color: #ccc; │
00:00:14 verbose #1117 > > │ } │
00:00:14 verbose #1118 > > │ a { │
00:00:14 verbose #1119 > > │ color: #777; │
00:00:14 verbose #1120 > > │ font-size: 15px; │
00:00:14 verbose #1121 > > │ } │
00:00:14 verbose #1122 > > │ span { │
00:00:14 verbose #1123 > > │ font-size: 11px; │
00:00:14 verbose #1124 > > │ } │
00:00:14 verbose #1125 > > │ div > div { │
00:00:14 verbose #1126 > > │ padding-left: 10px; │
00:00:14 verbose #1127 > > │ } │
00:00:14 verbose #1128 > > │ details > div { │
00:00:14 verbose #1129 > > │ padding-left: 19px; │
00:00:14 verbose #1130 > > │ } │
00:00:14 verbose #1131 > > │ </style> │
00:00:14 verbose #1132 > > │ </head> │
00:00:14 verbose #1133 > > │ <body> │
00:00:14 verbose #1134 > > │ <div><details open="true"><summary>📂 <a │
00:00:14 verbose #1135 > > │ href="_.root">_.root</a><span> (10.00 B)</span></summary><div><details │
00:00:14 verbose #1136 > > │ open="true"><summary>📂 <a href="_.root/3">3</a><span> (6.00 │
00:00:14 verbose #1137 > > │ B)</span></summary><div><details open="true"><summary>📂 <a │
00:00:14 verbose #1138 > > │ href="_.root/3/2">2</a><span> (3.00 B)</span></summary><div><details │
00:00:14 verbose #1139 > > │ open="true"><summary>📂 <a href="_.root/3/2/1">1</a><span> (1.00 │
00:00:14 verbose #1140 > > │ B)</span></summary><div><div>📄 <a │
00:00:14 verbose #1141 > > │ href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00 │
00:00:14 verbose #1142 > > │ B)</span></div></div></details><div>📄 <a │
00:00:14 verbose #1143 > > │ href="_.root/3/2/file.txt">file.txt</a><span> (2.00 │
00:00:14 verbose #1144 > > │ B)</span></div></div></details><div>📄 <a │
00:00:14 verbose #1145 > > │ href="_.root/3/file.txt">file.txt</a><span> (3.00 │
00:00:14 verbose #1146 > > │ B)</span></div></div></details><div>📄 <a │
00:00:14 verbose #1147 > > │ href="_.root/file.txt">file.txt</a><span> (4.00 │
00:00:14 verbose #1148 > > │ B)</span></div></div></details></div> │
00:00:14 verbose #1149 > > │ </body> │
00:00:14 verbose #1150 > > │ </html> │
00:00:14 verbose #1151 > > │ " │
00:00:14 verbose #1152 > > │ │
00:00:14 verbose #1153 > > │ │
00:00:14 verbose #1154 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1155 > >
00:00:14 verbose #1156 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #1157 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #1158 > > │ ## Arguments │
00:00:14 verbose #1159 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1160 > >
00:00:14 verbose #1161 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1162 > > [[<RequireQualifiedAccess>]]
00:00:14 verbose #1163 > > type Arguments =
00:00:14 verbose #1164 > > | [[<Argu.ArguAttributes.ExactlyOnce>]] Dir of string
00:00:14 verbose #1165 > > | [[<Argu.ArguAttributes.ExactlyOnce>]] Html of string
00:00:14 verbose #1166 > >
00:00:14 verbose #1167 > > interface Argu.IArgParserTemplate with
00:00:14 verbose #1168 > > member s.Usage =
00:00:14 verbose #1169 > > match s with
00:00:14 verbose #1170 > > | Dir _ -> nameof Dir
00:00:14 verbose #1171 > > | Html _ -> nameof Html
00:00:14 verbose #1172 > >
00:00:14 verbose #1173 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1174 > > //// test
00:00:14 verbose #1175 > >
00:00:14 verbose #1176 > > Argu.ArgumentParser.Create<Arguments>().PrintUsage ()
00:00:14 verbose #1177 > >
00:00:14 verbose #1178 > > ╭─[ 80.00ms - return value ]───────────────────────────────────────────────────╮
00:00:14 verbose #1179 > > │ "USAGE: dotnet-repl [--help] --dir <string> --html <string> │
00:00:14 verbose #1180 > > │ │
00:00:14 verbose #1181 > > │ OPTIONS: │
00:00:14 verbose #1182 > > │ │
00:00:14 verbose #1183 > > │ --dir <string> Dir │
00:00:14 verbose #1184 > > │ --html <string> Html │
00:00:14 verbose #1185 > > │ --help display this list of options. │
00:00:14 verbose #1186 > > │ " │
00:00:14 verbose #1187 > > │ │
00:00:14 verbose #1188 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1189 > >
00:00:14 verbose #1190 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #1191 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #1192 > > │ ## main │
00:00:14 verbose #1193 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1194 > >
00:00:14 verbose #1195 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1196 > > let main args =
00:00:14 verbose #1197 > > let argsMap = args |> Runtime.parseArgsMap<Arguments>
00:00:14 verbose #1198 > >
00:00:14 verbose #1199 > > let dir =
00:00:14 verbose #1200 > > match argsMap.[[nameof Arguments.Dir]] with
00:00:14 verbose #1201 > > | [[ Arguments.Dir dir ]] -> Some dir
00:00:14 verbose #1202 > > | _ -> None
00:00:14 verbose #1203 > > |> Option.get
00:00:14 verbose #1204 > >
00:00:14 verbose #1205 > > let htmlPath =
00:00:14 verbose #1206 > > match argsMap.[[nameof Arguments.Html]] with
00:00:14 verbose #1207 > > | [[ Arguments.Html html ]] -> Some html
00:00:14 verbose #1208 > > | _ -> None
00:00:14 verbose #1209 > > |> Option.get
00:00:14 verbose #1210 > >
00:00:14 verbose #1211 > > let fileSystem = scanDirectory true dir dir
00:00:14 verbose #1212 > > let html = generateHtmlForFileSystem fileSystem
00:00:14 verbose #1213 > >
00:00:14 verbose #1214 > > html |> SpiralFileSystem.write_all_text_async htmlPath
00:00:14 verbose #1215 > > |> Async.runWithTimeout 30000
00:00:14 verbose #1216 > > |> function
00:00:14 verbose #1217 > > | Some () -> 0
00:00:14 verbose #1218 > > | None -> 1
00:00:14 verbose #1219 > >
00:00:14 verbose #1220 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #1221 > > //// test
00:00:14 verbose #1222 > >
00:00:14 verbose #1223 > > let args =
00:00:14 verbose #1224 > > System.Environment.GetEnvironmentVariable "ARGS"
00:00:14 verbose #1225 > > |> SpiralRuntime.split_args
00:00:14 verbose #1226 > > |> Seq.toArray
00:00:14 verbose #1227 > >
00:00:14 verbose #1228 > > match args with
00:00:14 verbose #1229 > > | [[||]] -> 0
00:00:14 verbose #1230 > > | args -> if main args = 0 then 0 else failwith "main failed"
00:00:14 verbose #1231 > >
00:00:14 verbose #1232 > > ╭─[ 98.78ms - return value ]───────────────────────────────────────────────────╮
00:00:14 verbose #1233 > > │ <div class="dni-plaintext"><pre>0 │
00:00:14 verbose #1234 > > │ </pre></div><style> │
00:00:14 verbose #1235 > > │ .dni-code-hint { │
00:00:14 verbose #1236 > > │ font-style: italic; │
00:00:14 verbose #1237 > > │ overflow: hidden; │
00:00:14 verbose #1238 > > │ white-space: nowrap; │
00:00:14 verbose #1239 > > │ } │
00:00:14 verbose #1240 > > │ .dni-treeview { │
00:00:14 verbose #1241 > > │ white-space: nowrap; │
00:00:14 verbose #1242 > > │ } │
00:00:14 verbose #1243 > > │ .dni-treeview td { │
00:00:14 verbose #1244 > > │ vertical-align: top; │
00:00:14 verbose #1245 > > │ text-align: start; │
00:00:14 verbose #1246 > > │ } │
00:00:14 verbose #1247 > > │ details.dni-treeview { │
00:00:14 verbose #1248 > > │ padding-left: 1em; │
00:00:14 verbose #1249 > > │ } │
00:00:14 verbose #1250 > > │ table td { │
00:00:14 verbose #1251 > > │ text-align: start; │
00:00:14 verbose #1252 > > │ } │
00:00:14 verbose #1253 > > │ table tr { │
00:00:14 verbose #1254 > > │ vertical-align: top; │
00:00:14 verbose #1255 > > │ margin: 0em 0px; │
00:00:14 verbose #1256 > > │ } │
00:00:14 verbose #1257 > > │ table tr td pre │
00:00:14 verbose #1258 > > │ { │
00:00:14 verbose #1259 > > │ vertical-align: top !important; │
00:00:14 verbose #1260 > > │ margin: 0em 0px !important; │
00:00:14 verbose #1261 > > │ } │
00:00:14 verbose #1262 > > │ table th { │
00:00:14 verbose #1263 > > │ text-align: start; │
00:00:14 verbose #1264 > > │ } │
00:00:14 verbose #1265 > > │ </style> │
00:00:14 verbose #1266 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #1267 > 00:00:13 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 48194
00:00:14 verbose #1268 > 00:00:13 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:00:15 verbose #1269 > 00:00:14 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb to html
00:00:15 verbose #1270 > 00:00:14 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:15 verbose #1271 > 00:00:14 verbose #7 ! validate(nb)
00:00:15 verbose #1272 > 00:00:14 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:15 verbose #1273 > 00:00:14 verbose #9 ! return _pygments_highlight(
00:00:16 verbose #1274 > 00:00:14 verbose #10 ! [NbConvertApp] Writing 309579 bytes to /home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.html
00:00:16 verbose #1275 > 00:00:14 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 922
00:00:16 verbose #1276 > 00:00:14 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 922
00:00:16 verbose #1277 > 00:00:14 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:00:16 verbose #1278 > 00:00:15 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:00:16 verbose #1279 > 00:00:15 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:00:16 verbose #1280 > 00:00:15 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 49175
00:00:16 debug #1281 execute_with_options_async / exit_code: 0 / output.Length: 54175
00:00:16 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path DirTreeHtml.dib
00:00:16 verbose #30 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:00:16 verbose #31 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]
#endif
type reqwest_Error = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]
#endif
type reqwest_RequestBuilder = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]
#endif
type reqwest_Response = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]
#endif
type std_env_VarError = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]
#endif
type core_any_Any = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("_")>]
#endif
type core_ops_Try<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]
#endif
type Func0<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]
#endif
type Func0<'T, 'U> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]
#endif
type Box<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]
#endif
type Dyn<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Send")>]
#endif
type Send<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]
#endif
type Fn<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]
#endif
type FnUnit = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]
#endif
type FnOnce<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]
#endif
type ActionFn<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]
#endif
type ActionFn2<'T, 'U> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]
#endif
type Impl<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]
#endif
type Mut<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("&$0")>]
#endif
type Ref<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("$0 + $1")>]
#endif
type LifetimeJoin<'T, 'U> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("'static")>]
#endif
type StaticLifetime = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("$0")>]
#endif
type LifetimeRef<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("$0 $1")>]
#endif
type Lifetime<'T, 'U> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("MutCell<$0>")>]
#endif
type MutCell<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::any::Any")>]
#endif
type std_any_Any = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::borrow::Cow<$0>")>]
#endif
type std_borrow_Cow<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::cell::RefCell<$0>")>]
#endif
type std_cell_RefCell<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::pin::Pin<$0>")>]
#endif
type std_pin_Pin<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::rc::Rc<$0>")>]
#endif
type std_rc_Rc<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::rc::Weak<$0>")>]
#endif
type std_rc_Weak<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::collections::HashMap<$0, $1>")>]
#endif
type std_collections_HashMap<'K, 'V> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::collections::BTreeMap<$0, $1>")>]
#endif
type std_collections_BTreeMap<'K, 'V> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("str")>]
#endif
type Str = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("base64::DecodeError")>]
#endif
type base64_DecodeError = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("borsh::io::Error")>]
#endif
type borsh_io_Error = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("encoding_rs::Encoding")>]
#endif
type encoding_rs_Encoding = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("js_sys::JsString")>]
#endif
type js_sys_JsString = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("serde_json::Error")>]
#endif
type serde_json_Error = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("serde_json::Value")>]
#endif
type serde_json_Value = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("serde_wasm_bindgen::Error")>]
#endif
type serde_wasm_bindgen_Error = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::ffi::OsStr")>]
#endif
type std_ffi_OsStr = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::ffi::OsString")>]
#endif
type std_ffi_OsString = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::fmt::Display<$0>")>]
#endif
type std_fmt_Display<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::str::Utf8Error")>]
#endif
type std_str_Utf8Error = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::string::FromUtf8Error")>]
#endif
type std_string_FromUtf8Error = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>]
#endif
type std_string_String = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::slice::Windows<$0>")>]
#endif
type std_slice_Windows<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("regex::Regex")>]
#endif
type regex_Regex = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("regex::Captures")>]
#endif
type regex_Captures = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("regex::CaptureMatches")>]
#endif
type regex_CaptureMatches = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("regex::Error")>]
#endif
type regex_Error = class end
module State = let mutable trace_state = None
type [<Struct>] US0 =
| US0_0
| US0_1
| US0_2
| US0_3
| US0_4
and Mut0 = {mutable l0 : int64}
and Mut1 = {mutable l0 : bool}
and Mut2 = {mutable l0 : US0}
and Mut3 = {mutable l0 : (string -> unit)}
and [<Struct>] US1 =
| US1_0 of f0_0 : int64
| US1_1
and [<Struct>] US2 =
| US2_0 of f0_0 : bool
| US2_1
and [<Struct>] US3 =
| US3_0 of f0_0 : bool
| US3_1 of f1_0 : exn
and [<Struct>] US4 =
| US4_0 of f0_0 : bool
| US4_1 of f1_0 : exn
and [<Struct>] US5 =
| US5_0 of f0_0 : int32
| US5_1
let rec closure1 () (v0 : string) : unit =
()
and method0 () : string =
let v0 : string = ""
v0
and method1 () : string =
let v0 : string = "AUTOMATION"
v0
and closure0 () (v0 : US0) : struct (Mut0 * Mut1 * Mut2 * int64 option * Mut3) =
let v1 : Mut1 = {l0 = true} : Mut1
let v2 : Mut0 = {l0 = 0L} : Mut0
let v3 : Mut2 = {l0 = v0} : Mut2
let v4 : (string -> unit) = closure1()
let v5 : Mut3 = {l0 = v4} : Mut3
let v6 : bool = true
let mutable _v6 : int64 option option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v7 : bool = true
let mutable _v7 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v8 : string = "std::env::var(&*$0)"
let v9 : string = "AUTOMATION"
let v10 : Result<std_string_String, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr v9 v8
let v11 : string = "true; let _result = $0.map(|x| { //"
let v12 : bool = Fable.Core.RustInterop.emitRustExpr v10 v11
let v13 : string = "x"
let v14 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v13
let v15 : string = "fable_library_rust::String_::fromString($0)"
let v16 : string = Fable.Core.RustInterop.emitRustExpr v14 v15
let v17 : string = "true; $0 })"
let v18 : bool = Fable.Core.RustInterop.emitRustExpr v16 v17
let v19 : string = "_result"
let v20 : Result<string, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr () v19
let v21 : string = method0()
let v22 : string = "$0.unwrap_or($1)"
let v23 : string = Fable.Core.RustInterop.emitRustExpr struct (v20, v21) v22
v23
#endif
#if FABLE_COMPILER_RUST && WASM
let v24 : string = null |> unbox<string>
v24
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v25 : string = null |> unbox<string>
v25
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v26 : string = null |> unbox<string>
v26
#endif
#if FABLE_COMPILER_PYTHON
let v27 : string = null |> unbox<string>
v27
#endif
#else
let v28 : string = method1()
let v29 : (string -> string) = System.Environment.GetEnvironmentVariable
let v30 : string = v29 v28
v30
#endif
|> fun x -> _v7 <- Some x
let v31 : string = _v7.Value
let v33 : bool = v31 = "True"
let v39 : US1 =
if v33 then
let v34 : System.DateTime = System.DateTime.Now
let v35 : (System.DateTime -> int64) = _.Ticks
let v36 : int64 = v35 v34
US1_0(v36)
else
US1_1
let v44 : int64 option =
match v39 with
| US1_1 -> (* None *)
let v42 : int64 option = None
v42
| US1_0(v40) -> (* Some *)
let v41 : int64 option = Some v40
v41
v44
#endif
#if FABLE_COMPILER_RUST && WASM
let v45 : int64 option = None
v45
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v46 : int64 option = None
v46
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v47 : int64 option = None
v47
#endif
#if FABLE_COMPILER_PYTHON
let v48 : int64 option = None
v48
#endif
#else
let v49 : bool = true
let mutable _v49 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v50 : string = "std::env::var(&*$0)"
let v51 : Result<std_string_String, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr v9 v50
let v52 : string = "true; let _result = $0.map(|x| { //"
let v53 : bool = Fable.Core.RustInterop.emitRustExpr v51 v52
let v54 : string = "x"
let v55 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v54
let v56 : string = "fable_library_rust::String_::fromString($0)"
let v57 : string = Fable.Core.RustInterop.emitRustExpr v55 v56
let v58 : string = "true; $0 })"
let v59 : bool = Fable.Core.RustInterop.emitRustExpr v57 v58
let v60 : string = "_result"
let v61 : Result<string, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr () v60
let v62 : string = method0()
let v63 : string = "$0.unwrap_or($1)"
let v64 : string = Fable.Core.RustInterop.emitRustExpr struct (v61, v62) v63
v64
#endif
#if FABLE_COMPILER_RUST && WASM
let v65 : string = null |> unbox<string>
v65
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v66 : string = null |> unbox<string>
v66
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v67 : string = null |> unbox<string>
v67
#endif
#if FABLE_COMPILER_PYTHON
let v68 : string = null |> unbox<string>
v68
#endif
#else
let v69 : string = method1()
let v70 : (string -> string) = System.Environment.GetEnvironmentVariable
let v71 : string = v70 v69
v71
#endif
|> fun x -> _v49 <- Some x
let v72 : string = _v49.Value
let v74 : bool = v72 = "True"
let v80 : US1 =
if v74 then
let v75 : System.DateTime = System.DateTime.Now
let v76 : (System.DateTime -> int64) = _.Ticks
let v77 : int64 = v76 v75
US1_0(v77)
else
US1_1
let v85 : int64 option =
match v80 with
| US1_1 -> (* None *)
let v83 : int64 option = None
v83
| US1_0(v81) -> (* Some *)
let v82 : int64 option = Some v81
v82
v85
#endif
|> fun x -> _v6 <- Some x
let v86 : int64 option = _v6.Value
struct (v2, v1, v3, v86, v5)
and closure4 (v0 : int32, v1 : string) () : string =
let v2 : string = $"networking.test_port_open / port: {v0} / ex: {v1}"
v2
and closure5 () () : string =
let v0 : string = ""
v0
and method3 () : string =
let v0 : string = ""
v0
and closure6 (v0 : US0, v1 : (unit -> string), v2 : (unit -> string)) () : string =
let v3 : (US0 -> struct (Mut0 * Mut1 * Mut2 * int64 option * Mut3)) = closure0()
let v4 : US0 = US0_0
if State.trace_state.IsNone then State.trace_state <- v3 v4 |> Some
let struct (v5 : Mut0, v6 : Mut1, v7 : Mut2, v8 : int64 option, v9 : Mut3) = State.trace_state.Value
let v10 : bool = true
let mutable _v10 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v11 : US1 option = None
let _v11 = ref v11
match v8 with
| Some x -> (
(fun () ->
(fun () ->
let v12 : int64 = x
let v13 : US1 = US1_0(v12)
v13
)
|> fun x -> x () |> Some
) () ) | None -> None
|> fun x -> _v11.Value <- x
let v14 : US1 option = _v11.Value
let v15 : US1 = US1_1
let v16 : US1 = v14 |> Option.defaultValue v15
let v34 : System.DateTime =
match v16 with
| US1_1 -> (* None *)
let v32 : System.DateTime = System.DateTime.Now
v32
| US1_0(v17) -> (* Some *)
let v18 : System.DateTime = System.DateTime.Now
let v19 : (System.DateTime -> int64) = _.Ticks
let v20 : int64 = v19 v18
let v21 : int64 = v20 - v17
let v22 : System.TimeSpan = System.TimeSpan v21
let v23 : (System.TimeSpan -> int32) = _.Hours
let v24 : int32 = v23 v22
let v25 : (System.TimeSpan -> int32) = _.Minutes
let v26 : int32 = v25 v22
let v27 : (System.TimeSpan -> int32) = _.Seconds
let v28 : int32 = v27 v22
let v29 : (System.TimeSpan -> int32) = _.Milliseconds
let v30 : int32 = v29 v22
let v31 : System.DateTime = System.DateTime (1, 1, 1, v24, v26, v28, v30)
v31
let v35 : string = "hh:mm:ss"
let v36 : string = v34.ToString v35
v36
#endif
#if FABLE_COMPILER_RUST && WASM
let v37 : string = method3()
v37
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v38 : string = method3()
v38
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v39 : string = method3()
v39
#endif
#if FABLE_COMPILER_PYTHON
let v40 : string = method3()
v40
#endif
#else
let v41 : US1 option = None
let _v41 = ref v41
match v8 with
| Some x -> (
(fun () ->
(fun () ->
let v42 : int64 = x
let v43 : US1 = US1_0(v42)
v43
)
|> fun x -> x () |> Some
) () ) | None -> None
|> fun x -> _v41.Value <- x
let v44 : US1 option = _v41.Value
let v45 : US1 = US1_1
let v46 : US1 = v44 |> Option.defaultValue v45
let v64 : System.DateTime =
match v46 with
| US1_1 -> (* None *)
let v62 : System.DateTime = System.DateTime.Now
v62
| US1_0(v47) -> (* Some *)
let v48 : System.DateTime = System.DateTime.Now
let v49 : (System.DateTime -> int64) = _.Ticks
let v50 : int64 = v49 v48
let v51 : int64 = v50 - v47
let v52 : System.TimeSpan = System.TimeSpan v51
let v53 : (System.TimeSpan -> int32) = _.Hours
let v54 : int32 = v53 v52
let v55 : (System.TimeSpan -> int32) = _.Minutes
let v56 : int32 = v55 v52
let v57 : (System.TimeSpan -> int32) = _.Seconds
let v58 : int32 = v57 v52
let v59 : (System.TimeSpan -> int32) = _.Milliseconds
let v60 : int32 = v59 v52
let v61 : System.DateTime = System.DateTime (1, 1, 1, v54, v56, v58, v60)
v61
let v65 : string = "HH:mm:ss"
let v66 : string = v64.ToString v65
v66
#endif
|> fun x -> _v10 <- Some x
let v67 : string = _v10.Value
let v68 : int64 = v5.l0
let v78 : string =
match v0 with
| US0_4 -> (* Critical *)
let v73 : string = "Critical"
v73
| US0_1 -> (* Debug *)
let v70 : string = "Debug"
v70
| US0_2 -> (* Info *)
let v71 : string = "Info"
v71
| US0_0 -> (* Verbose *)
let v69 : string = "Verbose"
v69
| US0_3 -> (* Warning *)
let v72 : string = "Warning"
v72
let v79 : string = v78.ToLower ()
let v80 : string = v79.PadLeft (7, ' ')
let v81 : bool = true
let mutable _v81 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v96 : Ref<Str> =
match v0 with
| US0_4 -> (* Critical *)
let v90 : string = "inline_colorization::color_bright_red"
let v91 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v90
v91
| US0_1 -> (* Debug *)
let v84 : string = "inline_colorization::color_bright_blue"
let v85 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v84
v85
| US0_2 -> (* Info *)
let v86 : string = "inline_colorization::color_bright_green"
let v87 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v86
v87
| US0_0 -> (* Verbose *)
let v82 : string = "inline_colorization::color_bright_black"
let v83 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v82
v83
| US0_3 -> (* Warning *)
let v88 : string = "inline_colorization::color_yellow"
let v89 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v88
v89
let v97 : string = "&*$0"
let v98 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v80 v97
let v99 : string = "inline_colorization::color_reset"
let v100 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v99
let v101 : string = "\"{v96}{v98}{v100}\""
let v102 : string = @$"format!(" + v101 + ")"
let v103 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v102
let v104 : string = "fable_library_rust::String_::fromString($0)"
let v105 : string = Fable.Core.RustInterop.emitRustExpr v103 v104
v105
#endif
#if FABLE_COMPILER_RUST && WASM
let v120 : Ref<Str> =
match v0 with
| US0_4 -> (* Critical *)
let v114 : string = "inline_colorization::color_bright_red"
let v115 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v114
v115
| US0_1 -> (* Debug *)
let v108 : string = "inline_colorization::color_bright_blue"
let v109 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v108
v109
| US0_2 -> (* Info *)
let v110 : string = "inline_colorization::color_bright_green"
let v111 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v110
v111
| US0_0 -> (* Verbose *)
let v106 : string = "inline_colorization::color_bright_black"
let v107 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v106
v107
| US0_3 -> (* Warning *)
let v112 : string = "inline_colorization::color_yellow"
let v113 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v112
v113
let v121 : string = "&*$0"
let v122 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v80 v121
let v123 : string = "inline_colorization::color_reset"
let v124 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v123
let v125 : string = "\"{v120}{v122}{v124}\""
let v126 : string = @$"format!(" + v125 + ")"
let v127 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v126
let v128 : string = "fable_library_rust::String_::fromString($0)"
let v129 : string = Fable.Core.RustInterop.emitRustExpr v127 v128
v129
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v144 : Ref<Str> =
match v0 with
| US0_4 -> (* Critical *)
let v138 : string = "inline_colorization::color_bright_red"
let v139 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v138
v139
| US0_1 -> (* Debug *)
let v132 : string = "inline_colorization::color_bright_blue"
let v133 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v132
v133
| US0_2 -> (* Info *)
let v134 : string = "inline_colorization::color_bright_green"
let v135 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v134
v135
| US0_0 -> (* Verbose *)
let v130 : string = "inline_colorization::color_bright_black"
let v131 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v130
v131
| US0_3 -> (* Warning *)
let v136 : string = "inline_colorization::color_yellow"
let v137 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v136
v137
let v145 : string = "&*$0"
let v146 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v80 v145
let v147 : string = "inline_colorization::color_reset"
let v148 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v147
let v149 : string = "\"{v144}{v146}{v148}\""
let v150 : string = @$"format!(" + v149 + ")"
let v151 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v150
let v152 : string = "fable_library_rust::String_::fromString($0)"
let v153 : string = Fable.Core.RustInterop.emitRustExpr v151 v152
v153
#endif
#if FABLE_COMPILER_TYPESCRIPT
v80
#endif
#if FABLE_COMPILER_PYTHON
v80
#endif
#else
v80
#endif
|> fun x -> _v81 <- Some x
let v154 : string = _v81.Value
let v155 : string = $"{v67} {v154} #{v68} %s{v1 ()} / %s{v2 ()}"
let v156 : (char []) = [||]
let v157 : string = v155.TrimStart v156
let v158 : (char []) = [|' '; '/'|]
let v159 : string = v157.TrimEnd v158
v159
and method4 (v0 : US0, v1 : (unit -> string)) : unit =
let v2 : (US0 -> struct (Mut0 * Mut1 * Mut2 * int64 option * Mut3)) = closure0()
let v3 : US0 = US0_0
if State.trace_state.IsNone then State.trace_state <- v2 v3 |> Some
let struct (v4 : Mut0, v5 : Mut1, v6 : Mut2, v7 : int64 option, v8 : Mut3) = State.trace_state.Value
let v9 : US0 = US0_0
if State.trace_state.IsNone then State.trace_state <- v2 v9 |> Some
let struct (v10 : Mut0, v11 : Mut1, v12 : Mut2, v13 : int64 option, v14 : Mut3) = State.trace_state.Value
let v15 : US0 = v12.l0
let v16 : bool = v11.l0
let v17 : bool = v16 = false
let v21 : bool =
if v17 then
false
else
let v18 : int32 = [ US0_0, 0; US0_1, 1; US0_2, 2; US0_3, 3; US0_4, 4 ] |> Map |> Map.find v0
let v19 : int32 = [ US0_0, 0; US0_1, 1; US0_2, 2; US0_3, 3; US0_4, 4 ] |> Map |> Map.find v15
let v20 : bool = v18 >= v19
v20
if v21 then
let v22 : int64 = v4.l0
let v23 : int64 = v22 + 1L
v4.l0 <- v23
let v24 : string = $"%s{v1 ()}"
let v25 : bool = true
let mutable _v25 : unit option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v26 : string = @"println!(""{}"", $0)"
Fable.Core.RustInterop.emitRustExpr v24 v26
()
#endif
#if FABLE_COMPILER_RUST && WASM
let v27 : string = @"println!(""{}"", $0)"
Fable.Core.RustInterop.emitRustExpr v24 v27
()
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v28 : string = @"println!(""{}"", $0)"
Fable.Core.RustInterop.emitRustExpr v24 v28
()
#endif
#if FABLE_COMPILER_TYPESCRIPT
System.Console.WriteLine v24
()
#endif
#if FABLE_COMPILER_PYTHON
System.Console.WriteLine v24
()
#endif
#else
System.Console.WriteLine v24
()
#endif
|> fun x -> _v25 <- Some x
_v25.Value
let v29 : (string -> unit) = v8.l0
v29 v24
and method2 (v0 : US0, v1 : (unit -> string), v2 : (unit -> string)) : unit =
let v3 : (unit -> string) = closure6(v0, v1, v2)
method4(v0, v3)
and closure3 (v0 : string) (v1 : int32) : Async<bool> =
let v2 : bool = true
let mutable _v2 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v3 : Async<bool> = null |> unbox<Async<bool>>
v3
#endif
#if FABLE_COMPILER_RUST && WASM
let v4 : Async<bool> = null |> unbox<Async<bool>>
v4
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v5 : Async<bool> = null |> unbox<Async<bool>>
v5
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v6 : Async<bool> = null |> unbox<Async<bool>>
v6
#endif
#if FABLE_COMPILER_PYTHON
let v7 : Async<bool> = null |> unbox<Async<bool>>
v7
#endif
#else
let v8 : Async<bool> option = None
let mutable _v8 = v8
async {
let v9 : Async<System.Threading.CancellationToken> = Async.CancellationToken
let! v9 = v9
let v10 : System.Threading.CancellationToken = v9
let v11 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient ()
use v11 = v11
let v12 : System.Net.Sockets.TcpClient = v11
try
let v13 : System.Threading.Tasks.ValueTask = v12.ConnectAsync (v0, v1, v10)
let v14 : (unit -> System.Threading.Tasks.Task) = v13.AsTask
let v15 : System.Threading.Tasks.Task = v14 ()
let v16 : bool = true
let mutable _v16 : Async<unit> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v17 : Async<unit> = null |> unbox<Async<unit>>
v17
#endif
#if FABLE_COMPILER_RUST && WASM
let v18 : Async<unit> = null |> unbox<Async<unit>>
v18
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v19 : Async<unit> = null |> unbox<Async<unit>>
v19
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v20 : Async<unit> = null |> unbox<Async<unit>>
v20
#endif
#if FABLE_COMPILER_PYTHON
let v21 : Async<unit> = null |> unbox<Async<unit>>
v21
#endif
#else
let v22 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask
let v23 : Async<unit> = v22 v15
v23
#endif
|> fun x -> _v16 <- Some x
let v24 : Async<unit> = _v16.Value
do! v24
return true
with ex ->
let v25 : exn = ex
let v26 : bool = true
let mutable _v26 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v27 : string = $"%A{v25}"
v27
#endif
#if FABLE_COMPILER_RUST && WASM
let v28 : string = $"%A{v25}"
v28
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v29 : string = $"%A{v25}"
v29
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v30 : string = $"%A{v25}"
v30
#endif
#if FABLE_COMPILER_PYTHON
let v31 : string = $"%A{v25}"
v31
#endif
#else
let v32 : string = $"{v25.GetType ()}: {v25.Message}"
v32
#endif
|> fun x -> _v26 <- Some x
let v33 : string = _v26.Value
let v34 : US0 = US0_0
let v35 : (unit -> string) = closure4(v1, v33)
let v36 : (unit -> string) = closure5()
method2(v34, v35, v36)
return false
(*
let v37 : bool = *)
}
|> fun x -> _v8 <- Some x
let v38 : Async<bool> = _v8 |> Option.get
v38
#endif
|> fun x -> _v2 <- Some x
let v39 : Async<bool> = _v2.Value
v39
and closure2 () (v0 : string) : (int32 -> Async<bool>) =
closure3(v0)
and closure10 () (v0 : bool) : US3 =
US3_0(v0)
and closure11 () (v0 : exn) : US3 =
US3_1(v0)
and closure12 () () : string =
let v0 : string = "run_with_timeout_async"
v0
and closure13 (v0 : int32) () : string =
let v1 : (unit -> string) = closure5()
let v2 : string = $"timeout: {v0} / {v1 ()}"
v2
and closure14 (v0 : string) () : string =
let v1 : string = $"run_with_timeout_async** / ex: {v0}"
v1
and closure9 (v0 : int32, v1 : string) (v2 : int32) : Async<bool> =
let v3 : bool = true
let mutable _v3 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v4 : Async<bool> = null |> unbox<Async<bool>>
v4
#endif
#if FABLE_COMPILER_RUST && WASM
let v5 : Async<bool> = null |> unbox<Async<bool>>
v5
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v6 : Async<bool> = null |> unbox<Async<bool>>
v6
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v7 : Async<bool> = null |> unbox<Async<bool>>
v7
#endif
#if FABLE_COMPILER_PYTHON
let v8 : Async<bool> = null |> unbox<Async<bool>>
v8
#endif
#else
let v9 : Async<bool> option = None
let mutable _v9 = v9
async {
let v10 : bool = true
let mutable _v10 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v11 : Async<bool> = null |> unbox<Async<bool>>
v11
#endif
#if FABLE_COMPILER_RUST && WASM
let v12 : Async<bool> = null |> unbox<Async<bool>>
v12
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v13 : Async<bool> = null |> unbox<Async<bool>>
v13
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v14 : Async<bool> = null |> unbox<Async<bool>>
v14
#endif
#if FABLE_COMPILER_PYTHON
let v15 : Async<bool> = null |> unbox<Async<bool>>
v15
#endif
#else
let v16 : Async<bool> option = None
let mutable _v16 = v16
async {
let v17 : Async<System.Threading.CancellationToken> = Async.CancellationToken
let! v17 = v17
let v18 : System.Threading.CancellationToken = v17
let v19 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient ()
use v19 = v19
let v20 : System.Net.Sockets.TcpClient = v19
try
let v21 : System.Threading.Tasks.ValueTask = v20.ConnectAsync (v1, v2, v18)
let v22 : (unit -> System.Threading.Tasks.Task) = v21.AsTask
let v23 : System.Threading.Tasks.Task = v22 ()
let v24 : bool = true
let mutable _v24 : Async<unit> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v25 : Async<unit> = null |> unbox<Async<unit>>
v25
#endif
#if FABLE_COMPILER_RUST && WASM
let v26 : Async<unit> = null |> unbox<Async<unit>>
v26
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v27 : Async<unit> = null |> unbox<Async<unit>>
v27
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v28 : Async<unit> = null |> unbox<Async<unit>>
v28
#endif
#if FABLE_COMPILER_PYTHON
let v29 : Async<unit> = null |> unbox<Async<unit>>
v29
#endif
#else
let v30 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask
let v31 : Async<unit> = v30 v23
v31
#endif
|> fun x -> _v24 <- Some x
let v32 : Async<unit> = _v24.Value
do! v32
return true
with ex ->
let v33 : exn = ex
let v34 : bool = true
let mutable _v34 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v35 : string = $"%A{v33}"
v35
#endif
#if FABLE_COMPILER_RUST && WASM
let v36 : string = $"%A{v33}"
v36
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v37 : string = $"%A{v33}"
v37
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v38 : string = $"%A{v33}"
v38
#endif
#if FABLE_COMPILER_PYTHON
let v39 : string = $"%A{v33}"
v39
#endif
#else
let v40 : string = $"{v33.GetType ()}: {v33.Message}"
v40
#endif
|> fun x -> _v34 <- Some x
let v41 : string = _v34.Value
let v42 : US0 = US0_0
let v43 : (unit -> string) = closure4(v2, v41)
let v44 : (unit -> string) = closure5()
method2(v42, v43, v44)
return false
(*
let v45 : bool = *)
}
|> fun x -> _v16 <- Some x
let v46 : Async<bool> = _v16 |> Option.get
v46
#endif
|> fun x -> _v10 <- Some x
let v47 : Async<bool> = _v10.Value
let v48 : bool = true
let mutable _v48 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v49 : Async<US2> = null |> unbox<Async<US2>>
v49
#endif
#if FABLE_COMPILER_RUST && WASM
let v50 : Async<US2> = null |> unbox<Async<US2>>
v50
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v51 : Async<US2> = null |> unbox<Async<US2>>
v51
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v52 : Async<US2> = null |> unbox<Async<US2>>
v52
#endif
#if FABLE_COMPILER_PYTHON
let v53 : Async<US2> = null |> unbox<Async<US2>>
v53
#endif
#else
let v54 : bool = true
let mutable _v54 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v55 : Async<US2> = null |> unbox<Async<US2>>
v55
#endif
#if FABLE_COMPILER_RUST && WASM
let v56 : Async<US2> = null |> unbox<Async<US2>>
v56
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v57 : Async<US2> = null |> unbox<Async<US2>>
v57
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v58 : Async<US2> = null |> unbox<Async<US2>>
v58
#endif
#if FABLE_COMPILER_PYTHON
let v59 : Async<US2> = null |> unbox<Async<US2>>
v59
#endif
#else
let v60 : Async<US2> option = None
let mutable _v60 = v60
async {
let v61 : bool = true
let mutable _v61 : Async<Async<bool>> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v62 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v62
#endif
#if FABLE_COMPILER_RUST && WASM
let v63 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v63
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v64 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v64
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v65 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v65
#endif
#if FABLE_COMPILER_PYTHON
let v66 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v66
#endif
#else
let v67 : Async<Async<bool>> = Async.StartChild (v47, v0)
v67
#endif
|> fun x -> _v61 <- Some x
let v68 : Async<Async<bool>> = _v61.Value
let! v68 = v68
let v69 : Async<bool> = v68
let v70 : bool = true
let mutable _v70 : Async<Choice<bool, exn>> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v71 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v71
#endif
#if FABLE_COMPILER_RUST && WASM
let v72 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v72
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v73 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v73
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v74 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v74
#endif
#if FABLE_COMPILER_PYTHON
let v75 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v75
#endif
#else
let v76 : (Async<bool> -> Async<Choice<bool, exn>>) = Async.Catch
let v77 : Async<Choice<bool, exn>> = v76 v69
v77
#endif
|> fun x -> _v70 <- Some x
let v78 : Async<Choice<bool, exn>> = _v70.Value
let v79 : bool = true
let mutable _v79 : Async<US3> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v80 : Async<US3> = null |> unbox<Async<US3>>
v80
#endif
#if FABLE_COMPILER_RUST && WASM
let v81 : Async<US3> = null |> unbox<Async<US3>>
v81
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v82 : Async<US3> = null |> unbox<Async<US3>>
v82
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v83 : Async<US3> = null |> unbox<Async<US3>>
v83
#endif
#if FABLE_COMPILER_PYTHON
let v84 : Async<US3> = null |> unbox<Async<US3>>
v84
#endif
#else
let v85 : Async<US3> option = None
let mutable _v85 = v85
async {
let! v78 = v78
let v86 : Choice<bool, exn> = v78
let v87 : bool = true
let mutable _v87 : US3 option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v88 : US3 = null |> unbox<US3>
v88
#endif
#if FABLE_COMPILER_RUST && WASM
let v89 : US3 = null |> unbox<US3>
v89
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v90 : US3 = null |> unbox<US3>
v90
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v91 : US3 = null |> unbox<US3>
v91
#endif
#if FABLE_COMPILER_PYTHON
let v92 : US3 = null |> unbox<US3>
v92
#endif
#else
let v93 : (bool -> US3) = closure10()
let v94 : (exn -> US3) = closure11()
let v95 : US3 = match v86 with Choice1Of2 x -> v93 x | Choice2Of2 x -> v94 x
v95
#endif
|> fun x -> _v87 <- Some x
let v96 : US3 = _v87.Value
return v96
}
|> fun x -> _v85 <- Some x
let v97 : Async<US3> = _v85 |> Option.get
v97
#endif
|> fun x -> _v79 <- Some x
let v98 : Async<US3> = _v79.Value
let v99 : bool = true
let mutable _v99 : Async<US4> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v100 : Async<US4> = null |> unbox<Async<US4>>
v100
#endif
#if FABLE_COMPILER_RUST && WASM
let v101 : Async<US4> = null |> unbox<Async<US4>>
v101
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v102 : Async<US4> = null |> unbox<Async<US4>>
v102
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v103 : Async<US4> = null |> unbox<Async<US4>>
v103
#endif
#if FABLE_COMPILER_PYTHON
let v104 : Async<US4> = null |> unbox<Async<US4>>
v104
#endif
#else
let v105 : Async<US4> option = None
let mutable _v105 = v105
async {
let! v98 = v98
let v106 : US3 = v98
let v112 : US4 =
match v106 with
| US3_0(v107) -> (* Choice1Of2 *)
US4_0(v107)
| US3_1(v109) -> (* Choice2Of2 *)
US4_1(v109)
return v112
}
|> fun x -> _v105 <- Some x
let v113 : Async<US4> = _v105 |> Option.get
v113
#endif
|> fun x -> _v99 <- Some x
let v114 : Async<US4> = _v99.Value
let v115 : bool = true
let mutable _v115 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v116 : Async<US2> = null |> unbox<Async<US2>>
v116
#endif
#if FABLE_COMPILER_RUST && WASM
let v117 : Async<US2> = null |> unbox<Async<US2>>
v117
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v118 : Async<US2> = null |> unbox<Async<US2>>
v118
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v119 : Async<US2> = null |> unbox<Async<US2>>
v119
#endif
#if FABLE_COMPILER_PYTHON
let v120 : Async<US2> = null |> unbox<Async<US2>>
v120
#endif
#else
let v121 : Async<US2> option = None
let mutable _v121 = v121
async {
let! v114 = v114
let v122 : US4 = v114
let v147 : US2 =
match v122 with
| US4_1(v125) -> (* Error *)
let v126 : string = $"%A{v125}"
let v127 : string = "System.TimeoutException"
let v128 : bool = v126.Contains v127
if v128 then
let v129 : US0 = US0_1
let v130 : (unit -> string) = closure12()
let v131 : (unit -> string) = closure13(v0)
method2(v129, v130, v131)
US2_1
else
let v133 : bool = true
let mutable _v133 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v134 : string = $"%A{v125}"
v134
#endif
#if FABLE_COMPILER_RUST && WASM
let v135 : string = $"%A{v125}"
v135
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v136 : string = $"%A{v125}"
v136
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v137 : string = $"%A{v125}"
v137
#endif
#if FABLE_COMPILER_PYTHON
let v138 : string = $"%A{v125}"
v138
#endif
#else
let v139 : string = $"{v125.GetType ()}: {v125.Message}"
v139
#endif
|> fun x -> _v133 <- Some x
let v140 : string = _v133.Value
let v141 : US0 = US0_4
let v142 : (unit -> string) = closure14(v140)
let v143 : (unit -> string) = closure13(v0)
method2(v141, v142, v143)
US2_1
| US4_0(v123) -> (* Ok *)
US2_0(v123)
return v147
}
|> fun x -> _v121 <- Some x
let v148 : Async<US2> = _v121 |> Option.get
v148
#endif
|> fun x -> _v115 <- Some x
let v149 : Async<US2> = _v115.Value
return! v149
}
|> fun x -> _v60 <- Some x
let v150 : Async<US2> = _v60 |> Option.get
v150
#endif
|> fun x -> _v54 <- Some x
let v151 : Async<US2> = _v54.Value
v151
#endif
|> fun x -> _v48 <- Some x
let v152 : Async<US2> = _v48.Value
let! v152 = v152
let v153 : US2 = v152
let v156 : bool =
match v153 with
| US2_1 -> (* None *)
false
| US2_0(v154) -> (* Some *)
v154
return v156
}
|> fun x -> _v9 <- Some x
let v157 : Async<bool> = _v9 |> Option.get
v157
#endif
|> fun x -> _v3 <- Some x
let v158 : Async<bool> = _v3.Value
v158
and closure8 (v0 : int32) (v1 : string) : (int32 -> Async<bool>) =
closure9(v0, v1)
and closure7 () (v0 : int32) : (string -> (int32 -> Async<bool>)) =
closure8(v0)
and closure19 () () : string =
let v0 : string = "networking.wait_for_port_access"
v0
and closure20 (v0 : int32 option, v1 : bool, v2 : int32, v3 : int64) () : string =
let v4 : (unit -> string) = closure5()
let v5 : string = $"port: {v2} / retry: {v3} / timeout: %A{v0} / status: {v1} / {v4 ()}"
v5
and method5 (v0 : int32 option, v1 : bool, v2 : string, v3 : int32, v4 : int64) : Async<int64> =
let v5 : bool = true
let mutable _v5 : Async<int64> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v6 : Async<int64> = null |> unbox<Async<int64>>
v6
#endif
#if FABLE_COMPILER_RUST && WASM
let v7 : Async<int64> = null |> unbox<Async<int64>>
v7
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v8 : Async<int64> = null |> unbox<Async<int64>>
v8
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v9 : Async<int64> = null |> unbox<Async<int64>>
v9
#endif
#if FABLE_COMPILER_PYTHON
let v10 : Async<int64> = null |> unbox<Async<int64>>
v10
#endif
#else
let v11 : Async<int64> option = None
let mutable _v11 = v11
async {
let v12 : US5 option = None
let _v12 = ref v12
match v0 with
| Some x -> (
(fun () ->
(fun () ->
let v13 : int32 = x
let v14 : US5 = US5_0(v13)
v14
)
|> fun x -> x () |> Some
) () ) | None -> None
|> fun x -> _v12.Value <- x
let v15 : US5 option = _v12.Value
let v16 : US5 = US5_1
let v17 : US5 = v15 |> Option.defaultValue v16
let v214 : Async<bool> =
match v17 with
| US5_1 -> (* None *)
let v18 : bool = true
let mutable _v18 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v19 : Async<bool> = null |> unbox<Async<bool>>
v19
#endif
#if FABLE_COMPILER_RUST && WASM
let v20 : Async<bool> = null |> unbox<Async<bool>>
v20
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v21 : Async<bool> = null |> unbox<Async<bool>>
v21
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v22 : Async<bool> = null |> unbox<Async<bool>>
v22
#endif
#if FABLE_COMPILER_PYTHON
let v23 : Async<bool> = null |> unbox<Async<bool>>
v23
#endif
#else
let v24 : Async<bool> option = None
let mutable _v24 = v24
async {
let v25 : Async<System.Threading.CancellationToken> = Async.CancellationToken
let! v25 = v25
let v26 : System.Threading.CancellationToken = v25
let v27 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient ()
use v27 = v27
let v28 : System.Net.Sockets.TcpClient = v27
try
let v29 : System.Threading.Tasks.ValueTask = v28.ConnectAsync (v2, v3, v26)
let v30 : (unit -> System.Threading.Tasks.Task) = v29.AsTask
let v31 : System.Threading.Tasks.Task = v30 ()
let v32 : bool = true
let mutable _v32 : Async<unit> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v33 : Async<unit> = null |> unbox<Async<unit>>
v33
#endif
#if FABLE_COMPILER_RUST && WASM
let v34 : Async<unit> = null |> unbox<Async<unit>>
v34
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v35 : Async<unit> = null |> unbox<Async<unit>>
v35
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v36 : Async<unit> = null |> unbox<Async<unit>>
v36
#endif
#if FABLE_COMPILER_PYTHON
let v37 : Async<unit> = null |> unbox<Async<unit>>
v37
#endif
#else
let v38 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask
let v39 : Async<unit> = v38 v31
v39
#endif
|> fun x -> _v32 <- Some x
let v40 : Async<unit> = _v32.Value
do! v40
return true
with ex ->
let v41 : exn = ex
let v42 : bool = true
let mutable _v42 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v43 : string = $"%A{v41}"
v43
#endif
#if FABLE_COMPILER_RUST && WASM
let v44 : string = $"%A{v41}"
v44
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v45 : string = $"%A{v41}"
v45
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v46 : string = $"%A{v41}"
v46
#endif
#if FABLE_COMPILER_PYTHON
let v47 : string = $"%A{v41}"
v47
#endif
#else
let v48 : string = $"{v41.GetType ()}: {v41.Message}"
v48
#endif
|> fun x -> _v42 <- Some x
let v49 : string = _v42.Value
let v50 : US0 = US0_0
let v51 : (unit -> string) = closure4(v3, v49)
let v52 : (unit -> string) = closure5()
method2(v50, v51, v52)
return false
(*
let v53 : bool = *)
}
|> fun x -> _v24 <- Some x
let v54 : Async<bool> = _v24 |> Option.get
v54
#endif
|> fun x -> _v18 <- Some x
let v55 : Async<bool> = _v18.Value
v55
| US5_0(v56) -> (* Some *)
let v57 : bool = true
let mutable _v57 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v58 : Async<bool> = null |> unbox<Async<bool>>
v58
#endif
#if FABLE_COMPILER_RUST && WASM
let v59 : Async<bool> = null |> unbox<Async<bool>>
v59
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v60 : Async<bool> = null |> unbox<Async<bool>>
v60
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v61 : Async<bool> = null |> unbox<Async<bool>>
v61
#endif
#if FABLE_COMPILER_PYTHON
let v62 : Async<bool> = null |> unbox<Async<bool>>
v62
#endif
#else
let v63 : Async<bool> option = None
let mutable _v63 = v63
async {
let v64 : bool = true
let mutable _v64 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v65 : Async<bool> = null |> unbox<Async<bool>>
v65
#endif
#if FABLE_COMPILER_RUST && WASM
let v66 : Async<bool> = null |> unbox<Async<bool>>
v66
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v67 : Async<bool> = null |> unbox<Async<bool>>
v67
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v68 : Async<bool> = null |> unbox<Async<bool>>
v68
#endif
#if FABLE_COMPILER_PYTHON
let v69 : Async<bool> = null |> unbox<Async<bool>>
v69
#endif
#else
let v70 : Async<bool> option = None
let mutable _v70 = v70
async {
let v71 : Async<System.Threading.CancellationToken> = Async.CancellationToken
let! v71 = v71
let v72 : System.Threading.CancellationToken = v71
let v73 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient ()
use v73 = v73
let v74 : System.Net.Sockets.TcpClient = v73
try
let v75 : System.Threading.Tasks.ValueTask = v74.ConnectAsync (v2, v3, v72)
let v76 : (unit -> System.Threading.Tasks.Task) = v75.AsTask
let v77 : System.Threading.Tasks.Task = v76 ()
let v78 : bool = true
let mutable _v78 : Async<unit> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v79 : Async<unit> = null |> unbox<Async<unit>>
v79
#endif
#if FABLE_COMPILER_RUST && WASM
let v80 : Async<unit> = null |> unbox<Async<unit>>
v80
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v81 : Async<unit> = null |> unbox<Async<unit>>
v81
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v82 : Async<unit> = null |> unbox<Async<unit>>
v82
#endif
#if FABLE_COMPILER_PYTHON
let v83 : Async<unit> = null |> unbox<Async<unit>>
v83
#endif
#else
let v84 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask
let v85 : Async<unit> = v84 v77
v85
#endif
|> fun x -> _v78 <- Some x
let v86 : Async<unit> = _v78.Value
do! v86
return true
with ex ->
let v87 : exn = ex
let v88 : bool = true
let mutable _v88 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v89 : string = $"%A{v87}"
v89
#endif
#if FABLE_COMPILER_RUST && WASM
let v90 : string = $"%A{v87}"
v90
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v91 : string = $"%A{v87}"
v91
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v92 : string = $"%A{v87}"
v92
#endif
#if FABLE_COMPILER_PYTHON
let v93 : string = $"%A{v87}"
v93
#endif
#else
let v94 : string = $"{v87.GetType ()}: {v87.Message}"
v94
#endif
|> fun x -> _v88 <- Some x
let v95 : string = _v88.Value
let v96 : US0 = US0_0
let v97 : (unit -> string) = closure4(v3, v95)
let v98 : (unit -> string) = closure5()
method2(v96, v97, v98)
return false
(*
let v99 : bool = *)
}
|> fun x -> _v70 <- Some x
let v100 : Async<bool> = _v70 |> Option.get
v100
#endif
|> fun x -> _v64 <- Some x
let v101 : Async<bool> = _v64.Value
let v102 : bool = true
let mutable _v102 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v103 : Async<US2> = null |> unbox<Async<US2>>
v103
#endif
#if FABLE_COMPILER_RUST && WASM
let v104 : Async<US2> = null |> unbox<Async<US2>>
v104
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v105 : Async<US2> = null |> unbox<Async<US2>>
v105
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v106 : Async<US2> = null |> unbox<Async<US2>>
v106
#endif
#if FABLE_COMPILER_PYTHON
let v107 : Async<US2> = null |> unbox<Async<US2>>
v107
#endif
#else
let v108 : bool = true
let mutable _v108 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v109 : Async<US2> = null |> unbox<Async<US2>>
v109
#endif
#if FABLE_COMPILER_RUST && WASM
let v110 : Async<US2> = null |> unbox<Async<US2>>
v110
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v111 : Async<US2> = null |> unbox<Async<US2>>
v111
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v112 : Async<US2> = null |> unbox<Async<US2>>
v112
#endif
#if FABLE_COMPILER_PYTHON
let v113 : Async<US2> = null |> unbox<Async<US2>>
v113
#endif
#else
let v114 : Async<US2> option = None
let mutable _v114 = v114
async {
let v115 : bool = true
let mutable _v115 : Async<Async<bool>> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v116 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v116
#endif
#if FABLE_COMPILER_RUST && WASM
let v117 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v117
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v118 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v118
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v119 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v119
#endif
#if FABLE_COMPILER_PYTHON
let v120 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v120
#endif
#else
let v121 : Async<Async<bool>> = Async.StartChild (v101, v56)
v121
#endif
|> fun x -> _v115 <- Some x
let v122 : Async<Async<bool>> = _v115.Value
let! v122 = v122
let v123 : Async<bool> = v122
let v124 : bool = true
let mutable _v124 : Async<Choice<bool, exn>> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v125 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v125
#endif
#if FABLE_COMPILER_RUST && WASM
let v126 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v126
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v127 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v127
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v128 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v128
#endif
#if FABLE_COMPILER_PYTHON
let v129 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v129
#endif
#else
let v130 : (Async<bool> -> Async<Choice<bool, exn>>) = Async.Catch
let v131 : Async<Choice<bool, exn>> = v130 v123
v131
#endif
|> fun x -> _v124 <- Some x
let v132 : Async<Choice<bool, exn>> = _v124.Value
let v133 : bool = true
let mutable _v133 : Async<US3> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v134 : Async<US3> = null |> unbox<Async<US3>>
v134
#endif
#if FABLE_COMPILER_RUST && WASM
let v135 : Async<US3> = null |> unbox<Async<US3>>
v135
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v136 : Async<US3> = null |> unbox<Async<US3>>
v136
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v137 : Async<US3> = null |> unbox<Async<US3>>
v137
#endif
#if FABLE_COMPILER_PYTHON
let v138 : Async<US3> = null |> unbox<Async<US3>>
v138
#endif
#else
let v139 : Async<US3> option = None
let mutable _v139 = v139
async {
let! v132 = v132
let v140 : Choice<bool, exn> = v132
let v141 : bool = true
let mutable _v141 : US3 option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v142 : US3 = null |> unbox<US3>
v142
#endif
#if FABLE_COMPILER_RUST && WASM
let v143 : US3 = null |> unbox<US3>
v143
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v144 : US3 = null |> unbox<US3>
v144
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v145 : US3 = null |> unbox<US3>
v145
#endif
#if FABLE_COMPILER_PYTHON
let v146 : US3 = null |> unbox<US3>
v146
#endif
#else
let v147 : (bool -> US3) = closure10()
let v148 : (exn -> US3) = closure11()
let v149 : US3 = match v140 with Choice1Of2 x -> v147 x | Choice2Of2 x -> v148 x
v149
#endif
|> fun x -> _v141 <- Some x
let v150 : US3 = _v141.Value
return v150
}
|> fun x -> _v139 <- Some x
let v151 : Async<US3> = _v139 |> Option.get
v151
#endif
|> fun x -> _v133 <- Some x
let v152 : Async<US3> = _v133.Value
let v153 : bool = true
let mutable _v153 : Async<US4> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v154 : Async<US4> = null |> unbox<Async<US4>>
v154
#endif
#if FABLE_COMPILER_RUST && WASM
let v155 : Async<US4> = null |> unbox<Async<US4>>
v155
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v156 : Async<US4> = null |> unbox<Async<US4>>
v156
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v157 : Async<US4> = null |> unbox<Async<US4>>
v157
#endif
#if FABLE_COMPILER_PYTHON
let v158 : Async<US4> = null |> unbox<Async<US4>>
v158
#endif
#else
let v159 : Async<US4> option = None
let mutable _v159 = v159
async {
let! v152 = v152
let v160 : US3 = v152
let v166 : US4 =
match v160 with
| US3_0(v161) -> (* Choice1Of2 *)
US4_0(v161)
| US3_1(v163) -> (* Choice2Of2 *)
US4_1(v163)
return v166
}
|> fun x -> _v159 <- Some x
let v167 : Async<US4> = _v159 |> Option.get
v167
#endif
|> fun x -> _v153 <- Some x
let v168 : Async<US4> = _v153.Value
let v169 : bool = true
let mutable _v169 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v170 : Async<US2> = null |> unbox<Async<US2>>
v170
#endif
#if FABLE_COMPILER_RUST && WASM
let v171 : Async<US2> = null |> unbox<Async<US2>>
v171
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v172 : Async<US2> = null |> unbox<Async<US2>>
v172
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v173 : Async<US2> = null |> unbox<Async<US2>>
v173
#endif
#if FABLE_COMPILER_PYTHON
let v174 : Async<US2> = null |> unbox<Async<US2>>
v174
#endif
#else
let v175 : Async<US2> option = None
let mutable _v175 = v175
async {
let! v168 = v168
let v176 : US4 = v168
let v201 : US2 =
match v176 with
| US4_1(v179) -> (* Error *)
let v180 : string = $"%A{v179}"
let v181 : string = "System.TimeoutException"
let v182 : bool = v180.Contains v181
if v182 then
let v183 : US0 = US0_1
let v184 : (unit -> string) = closure12()
let v185 : (unit -> string) = closure13(v56)
method2(v183, v184, v185)
US2_1
else
let v187 : bool = true
let mutable _v187 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v188 : string = $"%A{v179}"
v188
#endif
#if FABLE_COMPILER_RUST && WASM
let v189 : string = $"%A{v179}"
v189
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v190 : string = $"%A{v179}"
v190
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v191 : string = $"%A{v179}"
v191
#endif
#if FABLE_COMPILER_PYTHON
let v192 : string = $"%A{v179}"
v192
#endif
#else
let v193 : string = $"{v179.GetType ()}: {v179.Message}"
v193
#endif
|> fun x -> _v187 <- Some x
let v194 : string = _v187.Value
let v195 : US0 = US0_4
let v196 : (unit -> string) = closure14(v194)
let v197 : (unit -> string) = closure13(v56)
method2(v195, v196, v197)
US2_1
| US4_0(v177) -> (* Ok *)
US2_0(v177)
return v201
}
|> fun x -> _v175 <- Some x
let v202 : Async<US2> = _v175 |> Option.get
v202
#endif
|> fun x -> _v169 <- Some x
let v203 : Async<US2> = _v169.Value
return! v203
}
|> fun x -> _v114 <- Some x
let v204 : Async<US2> = _v114 |> Option.get
v204
#endif
|> fun x -> _v108 <- Some x
let v205 : Async<US2> = _v108.Value
v205
#endif
|> fun x -> _v102 <- Some x
let v206 : Async<US2> = _v102.Value
let! v206 = v206
let v207 : US2 = v206
let v210 : bool =
match v207 with
| US2_1 -> (* None *)
false
| US2_0(v208) -> (* Some *)
v208
return v210
}
|> fun x -> _v63 <- Some x
let v211 : Async<bool> = _v63 |> Option.get
v211
#endif
|> fun x -> _v57 <- Some x
let v212 : Async<bool> = _v57.Value
v212
let! v214 = v214
let v215 : bool = v214
let v216 : bool = v215 = v1
if v216 then
return v4
(*
()
else
*) else
let v217 : int64 = v4 % 100L
let v218 : bool = v217 = 0L
if v218 then
let v219 : US0 = US0_0
let v220 : (unit -> string) = closure19()
let v221 : (unit -> string) = closure20(v0, v1, v3, v4)
method2(v219, v220, v221)
let v222 : bool = true
let mutable _v222 : Async<unit> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v223 : Async<unit> = null |> unbox<Async<unit>>
v223
#endif
#if FABLE_COMPILER_RUST && WASM
let v224 : Async<unit> = null |> unbox<Async<unit>>
v224
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v225 : Async<unit> = null |> unbox<Async<unit>>
v225
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v226 : Async<unit> = null |> unbox<Async<unit>>
v226
#endif
#if FABLE_COMPILER_PYTHON
let v227 : Async<unit> = null |> unbox<Async<unit>>
v227
#endif
#else
let v228 : (int32 -> Async<unit>) = Async.Sleep
let v229 : Async<unit> = v228 10
v229
#endif
|> fun x -> _v222 <- Some x
let v230 : Async<unit> = _v222.Value
do! v230
let v231 : int64 = v4 + 1L
let v232 : Async<int64> = method5(v0, v1, v2, v3, v231)
return! v232
(*
()
*)
}
|> fun x -> _v11 <- Some x
let v233 : Async<int64> = _v11 |> Option.get
v233
#endif
|> fun x -> _v5 <- Some x
let v234 : Async<int64> = _v5.Value
v234
and closure18 (v0 : int32 option, v1 : bool, v2 : string) (v3 : int32) : Async<int64> =
let v4 : int64 = 0L
method5(v0, v1, v2, v3, v4)
and closure17 (v0 : int32 option, v1 : bool) (v2 : string) : (int32 -> Async<int64>) =
closure18(v0, v1, v2)
and closure16 (v0 : int32 option) (v1 : bool) : (string -> (int32 -> Async<int64>)) =
closure17(v0, v1)
and closure15 () (v0 : int32 option) : (bool -> (string -> (int32 -> Async<int64>))) =
closure16(v0)
and method6 (v0 : int32 option, v1 : string, v2 : int32) : Async<int32> =
let v3 : bool = true
let mutable _v3 : Async<int32> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v4 : Async<int32> = null |> unbox<Async<int32>>
v4
#endif
#if FABLE_COMPILER_RUST && WASM
let v5 : Async<int32> = null |> unbox<Async<int32>>
v5
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v6 : Async<int32> = null |> unbox<Async<int32>>
v6
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v7 : Async<int32> = null |> unbox<Async<int32>>
v7
#endif
#if FABLE_COMPILER_PYTHON
let v8 : Async<int32> = null |> unbox<Async<int32>>
v8
#endif
#else
let v9 : Async<int32> option = None
let mutable _v9 = v9
async {
let v10 : US5 option = None
let _v10 = ref v10
match v0 with
| Some x -> (
(fun () ->
(fun () ->
let v11 : int32 = x
let v12 : US5 = US5_0(v11)
v12
)
|> fun x -> x () |> Some
) () ) | None -> None
|> fun x -> _v10.Value <- x
let v13 : US5 option = _v10.Value
let v14 : US5 = US5_1
let v15 : US5 = v13 |> Option.defaultValue v14
let v212 : Async<bool> =
match v15 with
| US5_1 -> (* None *)
let v16 : bool = true
let mutable _v16 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v17 : Async<bool> = null |> unbox<Async<bool>>
v17
#endif
#if FABLE_COMPILER_RUST && WASM
let v18 : Async<bool> = null |> unbox<Async<bool>>
v18
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v19 : Async<bool> = null |> unbox<Async<bool>>
v19
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v20 : Async<bool> = null |> unbox<Async<bool>>
v20
#endif
#if FABLE_COMPILER_PYTHON
let v21 : Async<bool> = null |> unbox<Async<bool>>
v21
#endif
#else
let v22 : Async<bool> option = None
let mutable _v22 = v22
async {
let v23 : Async<System.Threading.CancellationToken> = Async.CancellationToken
let! v23 = v23
let v24 : System.Threading.CancellationToken = v23
let v25 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient ()
use v25 = v25
let v26 : System.Net.Sockets.TcpClient = v25
try
let v27 : System.Threading.Tasks.ValueTask = v26.ConnectAsync (v1, v2, v24)
let v28 : (unit -> System.Threading.Tasks.Task) = v27.AsTask
let v29 : System.Threading.Tasks.Task = v28 ()
let v30 : bool = true
let mutable _v30 : Async<unit> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v31 : Async<unit> = null |> unbox<Async<unit>>
v31
#endif
#if FABLE_COMPILER_RUST && WASM
let v32 : Async<unit> = null |> unbox<Async<unit>>
v32
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v33 : Async<unit> = null |> unbox<Async<unit>>
v33
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v34 : Async<unit> = null |> unbox<Async<unit>>
v34
#endif
#if FABLE_COMPILER_PYTHON
let v35 : Async<unit> = null |> unbox<Async<unit>>
v35
#endif
#else
let v36 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask
let v37 : Async<unit> = v36 v29
v37
#endif
|> fun x -> _v30 <- Some x
let v38 : Async<unit> = _v30.Value
do! v38
return true
with ex ->
let v39 : exn = ex
let v40 : bool = true
let mutable _v40 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v41 : string = $"%A{v39}"
v41
#endif
#if FABLE_COMPILER_RUST && WASM
let v42 : string = $"%A{v39}"
v42
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v43 : string = $"%A{v39}"
v43
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v44 : string = $"%A{v39}"
v44
#endif
#if FABLE_COMPILER_PYTHON
let v45 : string = $"%A{v39}"
v45
#endif
#else
let v46 : string = $"{v39.GetType ()}: {v39.Message}"
v46
#endif
|> fun x -> _v40 <- Some x
let v47 : string = _v40.Value
let v48 : US0 = US0_0
let v49 : (unit -> string) = closure4(v2, v47)
let v50 : (unit -> string) = closure5()
method2(v48, v49, v50)
return false
(*
let v51 : bool = *)
}
|> fun x -> _v22 <- Some x
let v52 : Async<bool> = _v22 |> Option.get
v52
#endif
|> fun x -> _v16 <- Some x
let v53 : Async<bool> = _v16.Value
v53
| US5_0(v54) -> (* Some *)
let v55 : bool = true
let mutable _v55 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v56 : Async<bool> = null |> unbox<Async<bool>>
v56
#endif
#if FABLE_COMPILER_RUST && WASM
let v57 : Async<bool> = null |> unbox<Async<bool>>
v57
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v58 : Async<bool> = null |> unbox<Async<bool>>
v58
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v59 : Async<bool> = null |> unbox<Async<bool>>
v59
#endif
#if FABLE_COMPILER_PYTHON
let v60 : Async<bool> = null |> unbox<Async<bool>>
v60
#endif
#else
let v61 : Async<bool> option = None
let mutable _v61 = v61
async {
let v62 : bool = true
let mutable _v62 : Async<bool> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v63 : Async<bool> = null |> unbox<Async<bool>>
v63
#endif
#if FABLE_COMPILER_RUST && WASM
let v64 : Async<bool> = null |> unbox<Async<bool>>
v64
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v65 : Async<bool> = null |> unbox<Async<bool>>
v65
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v66 : Async<bool> = null |> unbox<Async<bool>>
v66
#endif
#if FABLE_COMPILER_PYTHON
let v67 : Async<bool> = null |> unbox<Async<bool>>
v67
#endif
#else
let v68 : Async<bool> option = None
let mutable _v68 = v68
async {
let v69 : Async<System.Threading.CancellationToken> = Async.CancellationToken
let! v69 = v69
let v70 : System.Threading.CancellationToken = v69
let v71 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient ()
use v71 = v71
let v72 : System.Net.Sockets.TcpClient = v71
try
let v73 : System.Threading.Tasks.ValueTask = v72.ConnectAsync (v1, v2, v70)
let v74 : (unit -> System.Threading.Tasks.Task) = v73.AsTask
let v75 : System.Threading.Tasks.Task = v74 ()
let v76 : bool = true
let mutable _v76 : Async<unit> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v77 : Async<unit> = null |> unbox<Async<unit>>
v77
#endif
#if FABLE_COMPILER_RUST && WASM
let v78 : Async<unit> = null |> unbox<Async<unit>>
v78
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v79 : Async<unit> = null |> unbox<Async<unit>>
v79
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v80 : Async<unit> = null |> unbox<Async<unit>>
v80
#endif
#if FABLE_COMPILER_PYTHON
let v81 : Async<unit> = null |> unbox<Async<unit>>
v81
#endif
#else
let v82 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask
let v83 : Async<unit> = v82 v75
v83
#endif
|> fun x -> _v76 <- Some x
let v84 : Async<unit> = _v76.Value
do! v84
return true
with ex ->
let v85 : exn = ex
let v86 : bool = true
let mutable _v86 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v87 : string = $"%A{v85}"
v87
#endif
#if FABLE_COMPILER_RUST && WASM
let v88 : string = $"%A{v85}"
v88
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v89 : string = $"%A{v85}"
v89
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v90 : string = $"%A{v85}"
v90
#endif
#if FABLE_COMPILER_PYTHON
let v91 : string = $"%A{v85}"
v91
#endif
#else
let v92 : string = $"{v85.GetType ()}: {v85.Message}"
v92
#endif
|> fun x -> _v86 <- Some x
let v93 : string = _v86.Value
let v94 : US0 = US0_0
let v95 : (unit -> string) = closure4(v2, v93)
let v96 : (unit -> string) = closure5()
method2(v94, v95, v96)
return false
(*
let v97 : bool = *)
}
|> fun x -> _v68 <- Some x
let v98 : Async<bool> = _v68 |> Option.get
v98
#endif
|> fun x -> _v62 <- Some x
let v99 : Async<bool> = _v62.Value
let v100 : bool = true
let mutable _v100 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v101 : Async<US2> = null |> unbox<Async<US2>>
v101
#endif
#if FABLE_COMPILER_RUST && WASM
let v102 : Async<US2> = null |> unbox<Async<US2>>
v102
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v103 : Async<US2> = null |> unbox<Async<US2>>
v103
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v104 : Async<US2> = null |> unbox<Async<US2>>
v104
#endif
#if FABLE_COMPILER_PYTHON
let v105 : Async<US2> = null |> unbox<Async<US2>>
v105
#endif
#else
let v106 : bool = true
let mutable _v106 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v107 : Async<US2> = null |> unbox<Async<US2>>
v107
#endif
#if FABLE_COMPILER_RUST && WASM
let v108 : Async<US2> = null |> unbox<Async<US2>>
v108
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v109 : Async<US2> = null |> unbox<Async<US2>>
v109
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v110 : Async<US2> = null |> unbox<Async<US2>>
v110
#endif
#if FABLE_COMPILER_PYTHON
let v111 : Async<US2> = null |> unbox<Async<US2>>
v111
#endif
#else
let v112 : Async<US2> option = None
let mutable _v112 = v112
async {
let v113 : bool = true
let mutable _v113 : Async<Async<bool>> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v114 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v114
#endif
#if FABLE_COMPILER_RUST && WASM
let v115 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v115
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v116 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v116
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v117 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v117
#endif
#if FABLE_COMPILER_PYTHON
let v118 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>>
v118
#endif
#else
let v119 : Async<Async<bool>> = Async.StartChild (v99, v54)
v119
#endif
|> fun x -> _v113 <- Some x
let v120 : Async<Async<bool>> = _v113.Value
let! v120 = v120
let v121 : Async<bool> = v120
let v122 : bool = true
let mutable _v122 : Async<Choice<bool, exn>> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v123 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v123
#endif
#if FABLE_COMPILER_RUST && WASM
let v124 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v124
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v125 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v125
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v126 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v126
#endif
#if FABLE_COMPILER_PYTHON
let v127 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>>
v127
#endif
#else
let v128 : (Async<bool> -> Async<Choice<bool, exn>>) = Async.Catch
let v129 : Async<Choice<bool, exn>> = v128 v121
v129
#endif
|> fun x -> _v122 <- Some x
let v130 : Async<Choice<bool, exn>> = _v122.Value
let v131 : bool = true
let mutable _v131 : Async<US3> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v132 : Async<US3> = null |> unbox<Async<US3>>
v132
#endif
#if FABLE_COMPILER_RUST && WASM
let v133 : Async<US3> = null |> unbox<Async<US3>>
v133
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v134 : Async<US3> = null |> unbox<Async<US3>>
v134
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v135 : Async<US3> = null |> unbox<Async<US3>>
v135
#endif
#if FABLE_COMPILER_PYTHON
let v136 : Async<US3> = null |> unbox<Async<US3>>
v136
#endif
#else
let v137 : Async<US3> option = None
let mutable _v137 = v137
async {
let! v130 = v130
let v138 : Choice<bool, exn> = v130
let v139 : bool = true
let mutable _v139 : US3 option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v140 : US3 = null |> unbox<US3>
v140
#endif
#if FABLE_COMPILER_RUST && WASM
let v141 : US3 = null |> unbox<US3>
v141
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v142 : US3 = null |> unbox<US3>
v142
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v143 : US3 = null |> unbox<US3>
v143
#endif
#if FABLE_COMPILER_PYTHON
let v144 : US3 = null |> unbox<US3>
v144
#endif
#else
let v145 : (bool -> US3) = closure10()
let v146 : (exn -> US3) = closure11()
let v147 : US3 = match v138 with Choice1Of2 x -> v145 x | Choice2Of2 x -> v146 x
v147
#endif
|> fun x -> _v139 <- Some x
let v148 : US3 = _v139.Value
return v148
}
|> fun x -> _v137 <- Some x
let v149 : Async<US3> = _v137 |> Option.get
v149
#endif
|> fun x -> _v131 <- Some x
let v150 : Async<US3> = _v131.Value
let v151 : bool = true
let mutable _v151 : Async<US4> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v152 : Async<US4> = null |> unbox<Async<US4>>
v152
#endif
#if FABLE_COMPILER_RUST && WASM
let v153 : Async<US4> = null |> unbox<Async<US4>>
v153
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v154 : Async<US4> = null |> unbox<Async<US4>>
v154
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v155 : Async<US4> = null |> unbox<Async<US4>>
v155
#endif
#if FABLE_COMPILER_PYTHON
let v156 : Async<US4> = null |> unbox<Async<US4>>
v156
#endif
#else
let v157 : Async<US4> option = None
let mutable _v157 = v157
async {
let! v150 = v150
let v158 : US3 = v150
let v164 : US4 =
match v158 with
| US3_0(v159) -> (* Choice1Of2 *)
US4_0(v159)
| US3_1(v161) -> (* Choice2Of2 *)
US4_1(v161)
return v164
}
|> fun x -> _v157 <- Some x
let v165 : Async<US4> = _v157 |> Option.get
v165
#endif
|> fun x -> _v151 <- Some x
let v166 : Async<US4> = _v151.Value
let v167 : bool = true
let mutable _v167 : Async<US2> option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v168 : Async<US2> = null |> unbox<Async<US2>>
v168
#endif
#if FABLE_COMPILER_RUST && WASM
let v169 : Async<US2> = null |> unbox<Async<US2>>
v169
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v170 : Async<US2> = null |> unbox<Async<US2>>
v170
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v171 : Async<US2> = null |> unbox<Async<US2>>
v171
#endif
#if FABLE_COMPILER_PYTHON
let v172 : Async<US2> = null |> unbox<Async<US2>>
v172
#endif
#else
let v173 : Async<US2> option = None
let mutable _v173 = v173
async {
let! v166 = v166
let v174 : US4 = v166
let v199 : US2 =
match v174 with
| US4_1(v177) -> (* Error *)
let v178 : string = $"%A{v177}"
let v179 : string = "System.TimeoutException"
let v180 : bool = v178.Contains v179
if v180 then
let v181 : US0 = US0_1
let v182 : (unit -> string) = closure12()
let v183 : (unit -> string) = closure13(v54)
method2(v181, v182, v183)
US2_1
else
let v185 : bool = true
let mutable _v185 : string option = None
#if FABLE_COMPILER || WASM || CONTRACT
#if FABLE_COMPILER_RUST && !WASM && !CONTRACT
let v186 : string = $"%A{v177}"
v186
#endif
#if FABLE_COMPILER_RUST && WASM
let v187 : string = $"%A{v177}"
v187
#endif
#if FABLE_COMPILER_RUST && CONTRACT
let v188 : string = $"%A{v177}"
v188
#endif
#if FABLE_COMPILER_TYPESCRIPT
let v189 : string = $"%A{v177}"
v189
#endif
#if FABLE_COMPILER_PYTHON
let v190 : string = $"%A{v177}"
v190
#endif
#else
let v191 : string = $"{v177.GetType ()}: {v177.Message}"
v191
#endif
|> fun x -> _v185 <- Some x
let v192 : string = _v185.Value
let v193 : US0 = US0_4
let v194 : (unit -> string) = closure14(v192)
let v195 : (unit -> string) = closure13(v54)
method2(v193, v194, v195)
US2_1
| US4_0(v175) -> (* Ok *)
US2_0(v175)
return v199
}
|> fun x -> _v173 <- Some x
let v200 : Async<US2> = _v173 |> Option.get
v200
#endif
|> fun x -> _v167 <- Some x
let v201 : Async<US2> = _v167.Value
return! v201
}
|> fun x -> _v112 <- Some x
let v202 : Async<US2> = _v112 |> Option.get
v202
#endif
|> fun x -> _v106 <- Some x
let v203 : Async<US2> = _v106.Value
v203
#endif
|> fun x -> _v100 <- Some x
let v204 : Async<US2> = _v100.Value
let! v204 = v204
let v205 : US2 = v204
let v208 : bool =
match v205 with
| US2_1 -> (* None *)
false
| US2_0(v206) -> (* Some *)
v206
return v208
}
|> fun x -> _v61 <- Some x
let v209 : Async<bool> = _v61 |> Option.get
v209
#endif
|> fun x -> _v55 <- Some x
let v210 : Async<bool> = _v55.Value
v210
let! v212 = v212
let v213 : bool = v212
let v214 : bool = v213 = false
if v214 then
return v2
(*
()
else
*) else
let v215 : int32 = v2 + 1
let v216 : Async<int32> = method6(v0, v1, v215)
return! v216
(*
()
*)
}
|> fun x -> _v9 <- Some x
let v217 : Async<int32> = _v9 |> Option.get
v217
#endif
|> fun x -> _v3 <- Some x
let v218 : Async<int32> = _v3.Value
v218
and closure23 (v0 : int32 option, v1 : string) (v2 : int32) : Async<int32> =
method6(v0, v1, v2)
and closure22 (v0 : int32 option) (v1 : string) : (int32 -> Async<int32>) =
closure23(v0, v1)
and closure21 () (v0 : int32 option) : (string -> (int32 -> Async<int32>)) =
closure22(v0)
let v0 : (US0 -> struct (Mut0 * Mut1 * Mut2 * int64 option * Mut3)) = closure0()
let v1 : US0 = US0_0
if State.trace_state.IsNone then State.trace_state <- v0 v1 |> Some
let v2 : (string -> (int32 -> Async<bool>)) = closure2()
let test_port_open x = v2 x
let v3 : (int32 -> (string -> (int32 -> Async<bool>))) = closure7()
let test_port_open_timeout x = v3 x
let v4 : (int32 option -> (bool -> (string -> (int32 -> Async<int64>)))) = closure15()
let wait_for_port_access x = v4 x
let v5 : (int32 option -> (string -> (int32 -> Async<int32>))) = closure21()
let get_available_port x = v5 x
()
00:00:00 debug #1 writeDibCode / output: Fs / path: DirTreeHtml.dib
00:00:00 debug #2 parseDibCode / output: Fs / file: DirTreeHtml.dib
00:00:00 debug #1 persistCodeProject / packages: [Argu; Falco.Markup; FSharp.Control.AsyncSeq; ... ] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: DirTreeHtml / hash: / code.Length: 4638
00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/polyglot/builder/DirTreeHtml/DirTreeHtml.fsproj
00:00:00 debug #1 execute_with_options_async / options: struct (None,
"dotnet publish "/home/runner/work/polyglot/polyglot/target/polyglot/builder/DirTreeHtml/DirTreeHtml.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/dist" --runtime linux-x64",
[||], None, None, true,
Some
"/home/runner/work/polyglot/polyglot/target/polyglot/builder/DirTreeHtml")
00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET
00:00:00 verbose #3 > Determining projects to restore...
00:00:01 verbose #4 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do.
00:00:01 verbose #6 > Total time taken: 0 milliseconds
00:00:01 verbose #7 > Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/polyglot/builder/DirTreeHtml/DirTreeHtml.fsproj
00:00:01 verbose #9 > Starting restore process.
00:00:02 verbose #10 > Total time taken: 0 milliseconds
00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/polyglot/builder/DirTreeHtml/DirTreeHtml.fsproj (in 292 ms).
00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/polyglot/builder/DirTreeHtml/DirTreeHtml.fsproj]
00:00:09 verbose #13 > DirTreeHtml -> /home/runner/work/polyglot/polyglot/target/polyglot/builder/DirTreeHtml/bin/Release/net9.0/linux-x64/DirTreeHtml.dll
00:00:10 verbose #14 > DirTreeHtml -> /home/runner/work/polyglot/polyglot/apps/dir-tree-html/dist
00:00:10 debug #15 execute_with_options_async / exit_code: 0 / output.Length: 1165
In [ ]:
{ pwsh ../lib/spiral/build.ps1 -sequential 1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path sm'.dib --retries 3",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "sm'.dib", "--retries", "3"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:02 verbose #10 > >
00:00:02 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #13 > > │ # sm' │
00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #15 > >
00:00:02 verbose #16 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:02 verbose #17 > > //// test
00:00:02 verbose #18 > >
00:00:02 verbose #19 > > open testing
00:00:02 verbose #20 > >
00:00:02 verbose #21 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:00:02 verbose #22 > > #r
00:00:02 verbose #23 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #24 > > Net.Interactive.Spiral.dll"
00:00:02 verbose #25 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:00:02 verbose #26 > > #r
00:00:02 verbose #27 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:02 verbose #28 > > Net.Interactive.dll"
00:00:02 verbose #29 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:05 verbose #30 > 00:00:05 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5720e42fc475e9cb8dca0c457f860b96335b24ec568ced2ed7db272f7d44d790/main.spi
00:00:08 verbose #31 > >
00:00:08 verbose #32 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #33 > > open rust_operators
00:00:08 verbose #34 > 00:00:07 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9a6e9c279d2afa68c45190010644e01d975f289b3d25e7276d477d0fcedda643/main.spi
00:00:08 verbose #35 > >
00:00:08 verbose #36 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #37 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #38 > > │ ## types │
00:00:08 verbose #39 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #40 > >
00:00:08 verbose #41 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #42 > > inl types () =
00:00:08 verbose #43 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #44 > > Fable.Core.Emit(\"str\")>]]\n#endif\ntype Str = class end"
00:00:08 verbose #45 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #46 > > Fable.Core.Emit(\"base64::DecodeError\")>]]\n#endif\ntype base64_DecodeError =
00:00:08 verbose #47 > > class end"
00:00:08 verbose #48 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #49 > > Fable.Core.Emit(\"borsh::io::Error\")>]]\n#endif\ntype borsh_io_Error = class
00:00:08 verbose #50 > > end"
00:00:08 verbose #51 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #52 > > Fable.Core.Emit(\"encoding_rs::Encoding\")>]]\n#endif\ntype encoding_rs_Encoding
00:00:08 verbose #53 > > = class end"
00:00:08 verbose #54 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #55 > > Fable.Core.Emit(\"js_sys::JsString\")>]]\n#endif\ntype js_sys_JsString = class
00:00:08 verbose #56 > > end"
00:00:08 verbose #57 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #58 > > Fable.Core.Emit(\"serde_json::Error\")>]]\n#endif\ntype serde_json_Error = class
00:00:08 verbose #59 > > end"
00:00:08 verbose #60 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #61 > > Fable.Core.Emit(\"serde_json::Value\")>]]\n#endif\ntype serde_json_Value = class
00:00:08 verbose #62 > > end"
00:00:08 verbose #63 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #64 > > Fable.Core.Emit(\"serde_wasm_bindgen::Error\")>]]\n#endif\ntype
00:00:08 verbose #65 > > serde_wasm_bindgen_Error = class end"
00:00:08 verbose #66 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #67 > > Fable.Core.Emit(\"std::ffi::OsStr\")>]]\n#endif\ntype std_ffi_OsStr = class end"
00:00:08 verbose #68 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #69 > > Fable.Core.Emit(\"std::ffi::OsString\")>]]\n#endif\ntype std_ffi_OsString =
00:00:08 verbose #70 > > class end"
00:00:08 verbose #71 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #72 > > Fable.Core.Emit(\"std::fmt::Display<$0>\")>]]\n#endif\ntype std_fmt_Display<'T>
00:00:08 verbose #73 > > = class end"
00:00:08 verbose #74 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #75 > > Fable.Core.Emit(\"std::str::Utf8Error\")>]]\n#endif\ntype std_str_Utf8Error =
00:00:08 verbose #76 > > class end"
00:00:08 verbose #77 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #78 > > Fable.Core.Emit(\"std::string::FromUtf8Error\")>]]\n#endif\ntype
00:00:08 verbose #79 > > std_string_FromUtf8Error = class end"
00:00:08 verbose #80 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #81 > > Fable.Core.Emit(\"std::string::String\")>]]\n#endif\ntype std_string_String =
00:00:08 verbose #82 > > class end"
00:00:08 verbose #83 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #84 > > Fable.Core.Emit(\"std::slice::Windows<$0>\")>]]\n#endif\ntype
00:00:08 verbose #85 > > std_slice_Windows<'T> = class end"
00:00:08 verbose #86 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #87 > > Fable.Core.Emit(\"regex::Regex\")>]]\n#endif\ntype regex_Regex = class end"
00:00:08 verbose #88 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #89 > > Fable.Core.Emit(\"regex::Captures\")>]]\n#endif\ntype regex_Captures = class
00:00:08 verbose #90 > > end"
00:00:08 verbose #91 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #92 > > Fable.Core.Emit(\"regex::CaptureMatches\")>]]\n#endif\ntype regex_CaptureMatches
00:00:08 verbose #93 > > = class end"
00:00:08 verbose #94 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:00:08 verbose #95 > > Fable.Core.Emit(\"regex::Error\")>]]\n#endif\ntype regex_Error = class end"
00:00:08 verbose #96 > 00:00:07 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/68302f267a6d38a121576b5af15841909752379b0d308e58ad400b8fc31807a0/main.spi
00:00:08 verbose #97 > >
00:00:08 verbose #98 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #99 > > inl types () =
00:00:08 verbose #100 > > rust.types ()
00:00:08 verbose #101 > > mapm.types ()
00:00:08 verbose #102 > > types ()
00:00:08 verbose #103 > 00:00:07 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0b33702b265b231846f1813df0b3dbf182a77b0fe65975ed2e915336a0212313/main.spi
00:00:08 verbose #104 > >
00:00:08 verbose #105 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #106 > > nominal display t = $"std_fmt_Display<`t>"
00:00:08 verbose #107 > > nominal str = $"Str"
00:00:08 verbose #108 > > nominal base64_decode_error = $"base64_DecodeError"
00:00:08 verbose #109 > > nominal borsh_io_error = $"borsh_io_Error"
00:00:08 verbose #110 > > nominal utf8_error = $"std_str_Utf8Error"
00:00:08 verbose #111 > > nominal from_utf8_error = $"std_string_FromUtf8Error"
00:00:08 verbose #112 > > nominal json_value = $"serde_json_Value"
00:00:08 verbose #113 > > nominal json_error = $"serde_json_Error"
00:00:08 verbose #114 > > nominal serde_wasm_bindgen_error = $"serde_wasm_bindgen_Error"
00:00:08 verbose #115 > > nominal js_string = $"js_sys_JsString"
00:00:08 verbose #116 > > nominal os_str = $"std_ffi_OsStr"
00:00:08 verbose #117 > > nominal os_string = $"std_ffi_OsString"
00:00:08 verbose #118 > > nominal std_string = $"std_string_String"
00:00:08 verbose #119 > 00:00:08 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a18d22f0ee9ec519178ca643f7e2d6da441fce8b9ca5e4b2149d3fad61542e/main.spi
00:00:08 verbose #120 > >
00:00:08 verbose #121 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #122 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #123 > > │ ## contains │
00:00:08 verbose #124 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #125 > >
00:00:08 verbose #126 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #127 > > inl contains (value : string) (s : string) : bool =
00:00:08 verbose #128 > > $"!s.Contains !value"
00:00:08 verbose #129 > 00:00:08 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f4c828bcce5863e8f9a6570e3ca230917fe235eb514b983f3a672261ef45337/main.spi
00:00:08 verbose #130 > >
00:00:08 verbose #131 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #132 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #133 > > │ ## ends_with │
00:00:08 verbose #134 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #135 > >
00:00:08 verbose #136 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #137 > > inl ends_with (value : string) (s : string) : bool =
00:00:08 verbose #138 > > $"!s.EndsWith !value"
00:00:08 verbose #139 > 00:00:08 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/967e87849a4f5ab531b5357217c738b67da2abfe87377165e43ba762cafb524e/main.spi
00:00:08 verbose #140 > >
00:00:08 verbose #141 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #142 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #143 > > │ ## last_index_of │
00:00:08 verbose #144 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #145 > >
00:00:08 verbose #146 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #147 > > inl last_index_of (search : string) (s : string) : i32 =
00:00:08 verbose #148 > > $"!s.LastIndexOf !search"
00:00:08 verbose #149 > 00:00:08 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8e85f7b3c80cd428d7c24ed839ca1add5fbacd754543c72aa693fa66bfe49db0/main.spi
00:00:09 verbose #150 > >
00:00:09 verbose #151 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #152 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #153 > > │ ## pad_left │
00:00:09 verbose #154 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #155 > >
00:00:09 verbose #156 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #157 > > inl pad_left (total_width : i32) (padding_char : char) (s : string) : string =
00:00:09 verbose #158 > > $"!s.PadLeft (!total_width, !padding_char)"
00:00:09 verbose #159 > 00:00:08 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/231f9e660f8f316114e1cd3c9f97c7fc7dd6f75fa4714e5f5f812d56e4795ead/main.spi
00:00:09 verbose #160 > >
00:00:09 verbose #161 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #162 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #163 > > │ ## pad_right │
00:00:09 verbose #164 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #165 > >
00:00:09 verbose #166 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #167 > > inl pad_right (total_width : i32) (padding_char : char) (s : string) : string =
00:00:09 verbose #168 > > $"!s.PadRight (!total_width, !padding_char)"
00:00:09 verbose #169 > 00:00:08 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a4fe87909177feb09d99b37c1bd0443c3a7941f5fae4c6d3efa2bf282ceff2a4/main.spi
00:00:09 verbose #170 > >
00:00:09 verbose #171 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #172 > > //// test
00:00:09 verbose #173 > >
00:00:09 verbose #174 > > "123"
00:00:09 verbose #175 > > |> pad_right 6 ' '
00:00:09 verbose #176 > > |> _assert_eq "123 "
00:00:09 verbose #177 > 00:00:08 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/80308457bd92dac957c50ac4daa837a1184e00f3ec0e44899d46479fc6fb4c54/main.spi
00:00:10 verbose #178 > >
00:00:10 verbose #179 > > ╭─[ 721.22ms - stdout ]────────────────────────────────────────────────────────╮
00:00:10 verbose #180 > > │ assert_eq / actual: "123 " / expected: "123 " │
00:00:10 verbose #181 > > │ │
00:00:10 verbose #182 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #183 > >
00:00:10 verbose #184 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #185 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #186 > > │ ## starts_with │
00:00:10 verbose #187 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #188 > >
00:00:10 verbose #189 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #190 > > inl starts_with (value : string) (s : string) : bool =
00:00:10 verbose #191 > > $"!s.StartsWith !value"
00:00:10 verbose #192 > 00:00:09 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4d315f11997507e345bc49120742eee37f5e323daa5fb367bb4038aa5f1005ea/main.spi
00:00:10 verbose #193 > >
00:00:10 verbose #194 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #195 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #196 > > │ ## substring │
00:00:10 verbose #197 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #198 > >
00:00:10 verbose #199 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #200 > > inl substring (start : i32) (len : i32) (str : string) : string =
00:00:10 verbose #201 > > $"!str.Substring (!start, !len)"
00:00:10 verbose #202 > 00:00:09 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2cba5d62623b1bf442c226061655668247188394a732b0b8dce71d52b8347e60/main.spi
00:00:10 verbose #203 > >
00:00:10 verbose #204 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #205 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #206 > > │ ## to_lower │
00:00:10 verbose #207 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #208 > >
00:00:10 verbose #209 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #210 > > inl to_lower (input : string) : string =
00:00:10 verbose #211 > > $"!input.ToLower ()"
00:00:10 verbose #212 > 00:00:10 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/953946af95fdfdf696e1fb82912194a8f820a0ecc7311cdd09598d20a5cd6087/main.spi
00:00:10 verbose #213 > >
00:00:10 verbose #214 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #215 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #216 > > │ ## to_upper │
00:00:10 verbose #217 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #218 > >
00:00:10 verbose #219 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #220 > > inl to_upper (input : string) : string =
00:00:10 verbose #221 > > $"!input.ToUpper ()"
00:00:10 verbose #222 > 00:00:10 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fab3df676d7920630ad818f8f0728e216848701e80cd8c1b4418a3b4ea8171e2/main.spi
00:00:10 verbose #223 > >
00:00:10 verbose #224 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #225 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #226 > > │ ## trim │
00:00:10 verbose #227 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #228 > >
00:00:10 verbose #229 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #230 > > inl trim (input : string) : string =
00:00:10 verbose #231 > > $"!input.Trim ()"
00:00:10 verbose #232 > 00:00:10 debug #19 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/98aacd399e0f563968b467b2ddfa0e139b23577539b3e905a884cf2bf24f661d/main.spi
00:00:10 verbose #233 > >
00:00:10 verbose #234 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #235 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #236 > > │ ## trim_end │
00:00:10 verbose #237 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #238 > >
00:00:10 verbose #239 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #240 > > inl trim_end (trim_chars : array_base char) (input : string) : string =
00:00:10 verbose #241 > > $"!input.TrimEnd !trim_chars"
00:00:10 verbose #242 > 00:00:10 debug #20 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1dc2821d15ed505357e8545c7dfee0816b4c71ec7b340200034dd14c382e1622/main.spi
00:00:11 verbose #243 > >
00:00:11 verbose #244 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 verbose #245 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 verbose #246 > > │ ## trim_start │
00:00:11 verbose #247 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 verbose #248 > >
00:00:11 verbose #249 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 verbose #250 > > inl trim_start (trim_chars : array_base char) (input : string) : string =
00:00:11 verbose #251 > > $"!input.TrimStart !trim_chars"
00:00:11 verbose #252 > 00:00:10 debug #21 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/841986bc48c35016534cddb41cd747b419b774f6dd1dd45bf3625768645b182f/main.spi
00:00:11 verbose #253 > >
00:00:11 verbose #254 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 verbose #255 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 verbose #256 > > │ ## length │
00:00:11 verbose #257 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 verbose #258 > >
00:00:11 verbose #259 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 verbose #260 > > inl length forall dim {int}. (input : string) : dim =
00:00:11 verbose #261 > > input |> sm.length
00:00:11 verbose #262 > 00:00:10 debug #22 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1e4fa083270ae323be20294fe1d3d6854613884ff91df7c72b3dcaa25e2b4136/main.spi
00:00:11 verbose #263 > >
00:00:11 verbose #264 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 verbose #265 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 verbose #266 > > │ ## length' │
00:00:11 verbose #267 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 verbose #268 > >
00:00:11 verbose #269 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 verbose #270 > > inl length' forall dim. (input : string) : dim =
00:00:11 verbose #271 > > input |> $'String.length'
00:00:11 verbose #272 > 00:00:10 debug #23 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b78b27832b11cbfa1ca99abf1a1447a8e228c2c9871a236a48889c3d8521da45/main.spi
00:00:11 verbose #273 > >
00:00:11 verbose #274 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 verbose #275 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 verbose #276 > > │ ## is_empty │
00:00:11 verbose #277 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 verbose #278 > >
00:00:11 verbose #279 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 verbose #280 > > inl is_empty (input : string) : bool =
00:00:11 verbose #281 > > length input = 0i32
00:00:11 verbose #282 > 00:00:11 debug #24 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b865bb3b7ca4777be1756724f8b23a43e68a8680b34a55b33e0c44675081ead8/main.spi
00:00:11 verbose #283 > >
00:00:11 verbose #284 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 verbose #285 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 verbose #286 > > │ ## slice │
00:00:11 verbose #287 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 verbose #288 > >
00:00:11 verbose #289 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 verbose #290 > > inl slice from to s : string =
00:00:11 verbose #291 > > sm.slice s { from to }
00:00:11 verbose #292 > 00:00:11 debug #25 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/de333363e56683c6a6b7f47a936b2fbe86d02db4262e57c318949f565c400676/main.spi
00:00:11 verbose #293 > >
00:00:11 verbose #294 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:11 verbose #295 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:11 verbose #296 > > │ ## range │
00:00:11 verbose #297 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:11 verbose #298 > >
00:00:11 verbose #299 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 verbose #300 > > inl range forall t. (start : am'.range t) (end : am'.range t) s =
00:00:11 verbose #301 > > inl start, end =
00:00:11 verbose #302 > > match start, end with
00:00:11 verbose #303 > > | Start start, End fn =>
00:00:11 verbose #304 > > start, s |> length' |> fn
00:00:11 verbose #305 > > | End start_fn, End end_fn =>
00:00:11 verbose #306 > > inl len = s |> length'
00:00:11 verbose #307 > > start_fn len, end_fn len
00:00:11 verbose #308 > > s |> slice (start |> u64) (end |> u64)
00:00:11 verbose #309 > 00:00:11 debug #26 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3b28e12446d6c43b915db594fa379da325c9a7bcb3b0279826044b98cbe52d74/main.spi
00:00:12 verbose #310 > >
00:00:12 verbose #311 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #312 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #313 > > │ ## raw_string_literal │
00:00:12 verbose #314 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #315 > >
00:00:12 verbose #316 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #317 > > inl raw_string_literal (s : string) : rust.ref' str =
00:00:12 verbose #318 > > !\($"\"r#\\\"\" + !s + \"\\\"#\"")
00:00:12 verbose #319 > 00:00:11 debug #27 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6b33f956a44fd9f4888ba04e97be29cc57e1e5d91313886bc055c5a68e560dcb/main.spi
00:00:12 verbose #320 > >
00:00:12 verbose #321 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #322 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #323 > > │ ## raw_string_literal_static │
00:00:12 verbose #324 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #325 > >
00:00:12 verbose #326 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #327 > > inl raw_string_literal_static (s : string) : rust.static_ref' str =
00:00:12 verbose #328 > > !\($"\"r#\\\"\" + !s + \"\\\"#\"")
00:00:12 verbose #329 > 00:00:11 debug #28 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a67b1f170485bc1b4ef029ba6cb6e11be639ebc87324fb2b11609c38e6cbc847/main.spi
00:00:12 verbose #330 > >
00:00:12 verbose #331 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #332 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #333 > > │ ## (~#) │
00:00:12 verbose #334 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #335 > >
00:00:12 verbose #336 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #337 > > inl (~#) s =
00:00:12 verbose #338 > > s |> raw_string_literal
00:00:12 verbose #339 > 00:00:12 debug #29 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1dd77fde5ba43993108ac345795d063765f0a3307c2f5becf492288e4d39f32d/main.spi
00:00:12 verbose #340 > >
00:00:12 verbose #341 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #342 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #343 > > │ ## (~##) │
00:00:12 verbose #344 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #345 > >
00:00:12 verbose #346 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #347 > > inl (~##) s =
00:00:12 verbose #348 > > s |> raw_string_literal_static
00:00:12 verbose #349 > 00:00:12 debug #30 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7180f411095343409a562ddc5474d7eb6b9f2c048be021b9e307d9169ef5c09e/main.spi
00:00:12 verbose #350 > >
00:00:12 verbose #351 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #352 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #353 > > │ ## include_str │
00:00:12 verbose #354 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #355 > >
00:00:12 verbose #356 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #357 > > inl include_str (path : string) : rust.ref' str =
00:00:12 verbose #358 > > !\($'"include_str\!(\\\"" + !path + "\\\")"')
00:00:12 verbose #359 > 00:00:12 debug #31 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/78200a170a71edb11bfc5d924195ca0e5fbbc2df3ad701b01874984044d039f3/main.spi
00:00:12 verbose #360 > >
00:00:12 verbose #361 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:12 verbose #362 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:12 verbose #363 > > │ ## as_str │
00:00:12 verbose #364 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:12 verbose #365 > >
00:00:12 verbose #366 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:12 verbose #367 > > inl as_str (s : string) : rust.ref' str =
00:00:12 verbose #368 > > // !\\(s, $'"fable_library_rust::String_::LrcStr::as_str(&$0)"')
00:00:12 verbose #369 > > !\\(s, $'"&*$0"')
00:00:12 verbose #370 > 00:00:12 debug #32 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4f01c98d9606c13874265b538b4c673a270eda54ea5dc307e9ef585569246c09/main.spi
00:00:13 verbose #371 > >
00:00:13 verbose #372 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #373 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #374 > > │ ## from_std_string │
00:00:13 verbose #375 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #376 > >
00:00:13 verbose #377 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #378 > > inl from_std_string (str : std_string) : string =
00:00:13 verbose #379 > > !\\(str, $'"fable_library_rust::String_::fromString($0)"')
00:00:13 verbose #380 > 00:00:12 debug #33 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2eba5e4106c59fc219cfea5360e4bfa2493158771baee70035a6184effad9374/main.spi
00:00:13 verbose #381 > >
00:00:13 verbose #382 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #383 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #384 > > │ ## ref_to_std_string │
00:00:13 verbose #385 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #386 > >
00:00:13 verbose #387 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #388 > > inl ref_to_std_string (str : rust.ref' str) : std_string =
00:00:13 verbose #389 > > !\\(str, $'"String::from($0)"')
00:00:13 verbose #390 > 00:00:12 debug #34 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/79e004bb45d9dba9389606bd20b21067025a2a0c764745aaccc42d188d1e19e3/main.spi
00:00:13 verbose #391 > >
00:00:13 verbose #392 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #393 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #394 > > │ ## cow_to_std_string │
00:00:13 verbose #395 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #396 > >
00:00:13 verbose #397 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #398 > > inl cow_to_std_string (str : rust.cow str) : std_string =
00:00:13 verbose #399 > > !\\(str, $'"String::from($0)"')
00:00:13 verbose #400 > 00:00:12 debug #35 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/779d2e3735a735642fc3d43a7b0a174ac3034a9857a2d6db55d2e16bf5f83647/main.spi
00:00:13 verbose #401 > >
00:00:13 verbose #402 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #403 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #404 > > │ ## to_std_string │
00:00:13 verbose #405 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #406 > >
00:00:13 verbose #407 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #408 > > inl to_std_string (s : string) : std_string =
00:00:13 verbose #409 > > s |> as_str |> ref_to_std_string
00:00:13 verbose #410 > 00:00:13 debug #36 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f0346efb945920442156068b681a6dbc108985b863f619c660f8b5202b1b7e05/main.spi
00:00:13 verbose #411 > >
00:00:13 verbose #412 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #413 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #414 > > │ ## as_str_std │
00:00:13 verbose #415 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #416 > >
00:00:13 verbose #417 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #418 > > inl as_str_std (s : std_string) : rust.ref' str =
00:00:13 verbose #419 > > !\\(s, $'"$0.as_str()"')
00:00:13 verbose #420 > 00:00:13 debug #37 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f1e645e1ec803e26d66d54c494f6912f55a5499ae07c9af106e972a5e364a3d9/main.spi
00:00:13 verbose #421 > >
00:00:13 verbose #422 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #423 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #424 > > │ ## into_boxed_str │
00:00:13 verbose #425 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #426 > >
00:00:13 verbose #427 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #428 > > inl into_boxed_str (s : std_string) : rust.box str =
00:00:13 verbose #429 > > !\\(s, $'"$0.into_boxed_str()"')
00:00:13 verbose #430 > 00:00:13 debug #38 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f5c3fc100ca7a498f2f0800e4510095e0359d800767bc2b0cc8042c53439a7d5/main.spi
00:00:13 verbose #431 > >
00:00:13 verbose #432 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:13 verbose #433 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:13 verbose #434 > > │ ## os_string_as_ref │
00:00:13 verbose #435 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:13 verbose #436 > >
00:00:13 verbose #437 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:13 verbose #438 > > inl os_string_as_ref (s : os_string) : rust.ref' os_str =
00:00:13 verbose #439 > > !\\(s, $'"$0.as_ref()"')
00:00:13 verbose #440 > 00:00:13 debug #39 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5cc51f32a796fb79d16bece3c795b8a180cd0684de271159492a29be3c63fcb2/main.spi
00:00:14 verbose #441 > >
00:00:14 verbose #442 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #443 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #444 > > │ ## to_os_string │
00:00:14 verbose #445 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #446 > >
00:00:14 verbose #447 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #448 > > inl to_os_string (s : rust.ref' os_str) : os_string =
00:00:14 verbose #449 > > !\\(s, $'"$0.to_os_string()"')
00:00:14 verbose #450 > 00:00:13 debug #40 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/64c272e6be20f08ad77743af79b319d272b0bbabb0df53a1ef900a7128df1350/main.spi
00:00:14 verbose #451 > >
00:00:14 verbose #452 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #453 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #454 > > │ ## os_to_str │
00:00:14 verbose #455 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #456 > >
00:00:14 verbose #457 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #458 > > inl os_to_str (s : os_string) : optionm'.option' (rust.ref' str) =
00:00:14 verbose #459 > > !\\(s, $'"$0.to_str()"')
00:00:14 verbose #460 > 00:00:13 debug #41 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/978c30df554d3bd728355f8a923044967e6090f1ed1c7472b37612f6ef4b964b/main.spi
00:00:14 verbose #461 > >
00:00:14 verbose #462 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #463 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #464 > > │ ## from_os_str_ref │
00:00:14 verbose #465 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #466 > >
00:00:14 verbose #467 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #468 > > inl from_os_str_ref s =
00:00:14 verbose #469 > > s
00:00:14 verbose #470 > > |> to_os_string
00:00:14 verbose #471 > > |> os_to_str
00:00:14 verbose #472 > > |> optionm'.unwrap
00:00:14 verbose #473 > > |> ref_to_std_string
00:00:14 verbose #474 > > |> from_std_string
00:00:14 verbose #475 > 00:00:13 debug #42 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c22d3ab05c7c12094382f8ef7c73eb4e1242aad809f9c2fa3fa891b3c40e3e69/main.spi
00:00:14 verbose #476 > >
00:00:14 verbose #477 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #478 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #479 > > │ ## obj_to_string │
00:00:14 verbose #480 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #481 > >
00:00:14 verbose #482 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #483 > > inl obj_to_string x : string =
00:00:14 verbose #484 > > x |> $'_.ToString()'
00:00:14 verbose #485 > 00:00:13 debug #43 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/57ef6da47a28eacd170d9b191c58c904f5da107c1bd14a5f23e6fd128a0f25a7/main.spi
00:00:14 verbose #486 > >
00:00:14 verbose #487 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #488 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #489 > > │ ## to_string any │
00:00:14 verbose #490 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #491 > >
00:00:14 verbose #492 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #493 > > instance to_string any =
00:00:14 verbose #494 > > obj_to_string
00:00:14 verbose #495 > 00:00:14 debug #44 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/05140b84a54584276d6883b80894583aa18baa91eb22e0de3fd2af87dca363f0/main.spi
00:00:14 verbose #496 > >
00:00:14 verbose #497 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #498 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #499 > > │ ## to_string result t u │
00:00:14 verbose #500 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #501 > >
00:00:14 verbose #502 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #503 > > instance to_string result t u = fun x =>
00:00:14 verbose #504 > > real
00:00:14 verbose #505 > > open rust
00:00:14 verbose #506 > > typecase (t * u) with
00:00:14 verbose #507 > > | string * string =>
00:00:14 verbose #508 > > match x with
00:00:14 verbose #509 > > | Ok x => x
00:00:14 verbose #510 > > | Error x => $'"sm\'.to_string result / Error: " + !x + ""' : string
00:00:14 verbose #511 > > | std_string * std_string =>
00:00:14 verbose #512 > > match x with
00:00:14 verbose #513 > > | Ok x => from_std_string x
00:00:14 verbose #514 > > | Error x => $'"sm\'.to_string result / Error: " + string !x + ""' :
00:00:14 verbose #515 > > string
00:00:14 verbose #516 > > | _ => obj_to_string `u x
00:00:14 verbose #517 > 00:00:14 debug #45 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/004a9d2760792b997cd2d06eb82bc50ad2333a2c67f17e3f8664ec4f0adf734d/main.spi
00:00:14 verbose #518 > >
00:00:14 verbose #519 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #520 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #521 > > │ ## format_debug │
00:00:14 verbose #522 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #523 > >
00:00:14 verbose #524 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #525 > > inl format_debug x : string =
00:00:14 verbose #526 > > $'$"%A{!x}"'
00:00:14 verbose #527 > 00:00:14 debug #46 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1ddc12c75ed7e481569fc82eb550eedcfa730013dd63848f08e6f94012cdfdec/main.spi
00:00:14 verbose #528 > >
00:00:14 verbose #529 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:14 verbose #530 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:14 verbose #531 > > │ ## format_custom' │
00:00:14 verbose #532 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:14 verbose #533 > >
00:00:14 verbose #534 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:14 verbose #535 > > inl format_custom' format x : std_string =
00:00:14 verbose #536 > > !\\(x, $'"format\!(\\\"" + !format + "\\\", $0)"')
00:00:14 verbose #537 > 00:00:14 debug #47 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/48474c438a49ac985e8f23c815b7265a22199f8818be356e8fb0f91503f9e33a/main.spi
00:00:15 verbose #538 > >
00:00:15 verbose #539 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 verbose #540 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 verbose #541 > > │ ## format' │
00:00:15 verbose #542 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #543 > >
00:00:15 verbose #544 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 verbose #545 > > inl format' x : std_string =
00:00:15 verbose #546 > > run_target function
00:00:15 verbose #547 > > | Rust _ => fun () =>
00:00:15 verbose #548 > > !\\(x, $'"format\!(\\\"{}\\\", $0)"')
00:00:15 verbose #549 > > | _ => fun () => null ()
00:00:15 verbose #550 > 00:00:14 debug #48 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eab1ce83ff3fc4d998b14956b409c740deb7fb47db826e6c1a9dfdf0b6285561/main.spi
00:00:15 verbose #551 > >
00:00:15 verbose #552 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 verbose #553 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 verbose #554 > > │ ## format_debug' │
00:00:15 verbose #555 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #556 > >
00:00:15 verbose #557 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 verbose #558 > > inl format_debug' x : std_string =
00:00:15 verbose #559 > > run_target function
00:00:15 verbose #560 > > | Rust _ => fun () =>
00:00:15 verbose #561 > > !\\(x, $'"format\!(\\\"{:?}\\\", $0)"')
00:00:15 verbose #562 > > | _ => fun () => null ()
00:00:15 verbose #563 > 00:00:14 debug #49 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b414de03f19b89a08d9c33c711317b51f727a39eb5f2e4505cb533818aab99af/main.spi
00:00:15 verbose #564 > >
00:00:15 verbose #565 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 verbose #566 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 verbose #567 > > │ ## format_pretty' │
00:00:15 verbose #568 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #569 > >
00:00:15 verbose #570 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 verbose #571 > > inl format_pretty' x : std_string =
00:00:15 verbose #572 > > run_target function
00:00:15 verbose #573 > > | Rust _ => fun () =>
00:00:15 verbose #574 > > !\\(x, $'"format\!(\\\"{:#?}\\\", $0)"')
00:00:15 verbose #575 > > | _ => fun () => null ()
00:00:15 verbose #576 > 00:00:14 debug #50 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4b802b04e34f9b3b1effa0f8177b4ec3972459e3d97d5b8d6fb6a7220891f725/main.spi
00:00:15 verbose #577 > >
00:00:15 verbose #578 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 verbose #579 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 verbose #580 > > │ ## format_hex' │
00:00:15 verbose #581 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #582 > >
00:00:15 verbose #583 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 verbose #584 > > inl format_hex' x : std_string =
00:00:15 verbose #585 > > run_target function
00:00:15 verbose #586 > > | Rust _ => fun () =>
00:00:15 verbose #587 > > !\\(x, $'"format\!(\\\"{:x}\\\", $0)"')
00:00:15 verbose #588 > > | _ => fun () => null ()
00:00:15 verbose #589 > 00:00:15 debug #51 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d9900227ea0bd8a015c943c083331fbb09b5b03380fcb904aa38088c845b4c3a/main.spi
00:00:15 verbose #590 > >
00:00:15 verbose #591 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 verbose #592 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 verbose #593 > > │ ## format'' │
00:00:15 verbose #594 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #595 > >
00:00:15 verbose #596 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 verbose #597 > > inl format'' (format : string) : std_string =
00:00:15 verbose #598 > > !\($'@@$"format\!(" + !format + ")"')
00:00:15 verbose #599 > 00:00:15 debug #52 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/47b34c7f44842f407ab531c0accc6d80e81bf707b312868980feddb136c4b97f/main.spi
00:00:15 verbose #600 > >
00:00:15 verbose #601 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 verbose #602 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 verbose #603 > > │ ## format_exception │
00:00:15 verbose #604 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #605 > >
00:00:15 verbose #606 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 verbose #607 > > inl format_exception (ex : exn) : string =
00:00:15 verbose #608 > > run_target function
00:00:15 verbose #609 > > | Fsharp (Native) => fun () => $'$"{!ex.GetType ()}: {!ex.Message}"'
00:00:15 verbose #610 > > | _ => fun () => ex |> format_debug
00:00:15 verbose #611 > 00:00:15 debug #53 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/92190cf651499e204ba97a4488f124698c62683492208b64dfb15ad528e91354/main.spi
00:00:15 verbose #612 > >
00:00:15 verbose #613 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:15 verbose #614 > > //// test
00:00:15 verbose #615 > >
00:00:15 verbose #616 > > fun () => failwith "test"
00:00:15 verbose #617 > > |> _throws
00:00:15 verbose #618 > > |> optionm.map sm'.format_exception
00:00:15 verbose #619 > > |> _assert_eq (Some "System.Exception: test")
00:00:15 verbose #620 > 00:00:15 debug #54 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b58d108e516a431c3afecf82fed0561790f3cc980e0b4797f66fd52c07a27b6a/main.spi
00:00:16 verbose #621 > >
00:00:16 verbose #622 > > ╭─[ 508.92ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 verbose #623 > > │ assert_eq / actual: US1_0 "System.Exception: test" / expected: US1_0 │
00:00:16 verbose #624 > > │ "System.Exception: test" │
00:00:16 verbose #625 > > │ │
00:00:16 verbose #626 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #627 > >
00:00:16 verbose #628 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #629 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #630 > > │ ## replace │
00:00:16 verbose #631 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #632 > >
00:00:16 verbose #633 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #634 > > inl replace (old_value : string) (new_value : string) (s : string) : string =
00:00:16 verbose #635 > > $"!s.Replace (!old_value, !new_value)"
00:00:16 verbose #636 > 00:00:15 debug #55 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fb1318442208809f81449a051573106475127bf24063186ee2d15820a4f41dd1/main.spi
00:00:16 verbose #637 > >
00:00:16 verbose #638 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #639 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #640 > > │ ## regex │
00:00:16 verbose #641 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #642 > >
00:00:16 verbose #643 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #644 > > nominal regex = $'regex_Regex'
00:00:16 verbose #645 > 00:00:16 debug #56 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0192255570511b9d3be497ac5a90cf1ad46fc1c1728e0b03e1fe892c801d45b6/main.spi
00:00:16 verbose #646 > >
00:00:16 verbose #647 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #648 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #649 > > │ ## regex_error │
00:00:16 verbose #650 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #651 > >
00:00:16 verbose #652 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #653 > > nominal regex_error = $'regex_Error'
00:00:16 verbose #654 > 00:00:16 debug #57 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2a53dcb6cd72f1c769b1e1fcf21c47f7ff8bcb1da90b1c5839b2685701143c36/main.spi
00:00:16 verbose #655 > >
00:00:16 verbose #656 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #657 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #658 > > │ ## new_regex │
00:00:16 verbose #659 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #660 > >
00:00:16 verbose #661 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #662 > > inl new_regex (pattern : string) : resultm.result' regex regex_error =
00:00:16 verbose #663 > > run_target function
00:00:16 verbose #664 > > | Rust (Native) => fun () =>
00:00:16 verbose #665 > > inl pattern = join pattern
00:00:16 verbose #666 > > !\\(pattern, $'$"regex::Regex::new(&$0)"')
00:00:16 verbose #667 > > | _ => fun () => null ()
00:00:16 verbose #668 > 00:00:16 debug #58 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b57b484707d635596cd8409c26bff0506e752dc1a0ef13049e6bf69faf7152bc/main.spi
00:00:16 verbose #669 > >
00:00:16 verbose #670 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #671 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #672 > > │ ## captures │
00:00:16 verbose #673 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #674 > >
00:00:16 verbose #675 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:16 verbose #676 > > nominal regex_captures = $'regex_Captures'
00:00:17 verbose #677 > 00:00:16 debug #59 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f542c578d98b36fbdde41076c12f3933cd6d9e74de1d344bd93ed401c251015e/main.spi
00:00:17 verbose #678 > >
00:00:17 verbose #679 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #680 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #681 > > │ ## regex_capture_matches │
00:00:17 verbose #682 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #683 > >
00:00:17 verbose #684 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #685 > > nominal regex_capture_matches = $'regex_CaptureMatches'
00:00:17 verbose #686 > 00:00:16 debug #60 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/15f7e8a96cdf9f3ae8c28ecf8a52f9c1634ee177646d955e7d8a13a0aa4e841f/main.spi
00:00:17 verbose #687 > >
00:00:17 verbose #688 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #689 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #690 > > │ ## regex_captures │
00:00:17 verbose #691 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #692 > >
00:00:17 verbose #693 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #694 > > inl regex_captures (s : string) (regex : regex) : am'.vec (mapm.hash_map
00:00:17 verbose #695 > > (rust.ref' str) (rust.ref' str)) =
00:00:17 verbose #696 > > inl s = join s
00:00:17 verbose #697 > > !\\(regex, $'$"$0.captures_iter(&*!s).map(|caps| $0.capture_names().map(|x|
00:00:17 verbose #698 > > x.and_then(|n| Some((n,
00:00:17 verbose #699 > > caps.name(n)?.as_str())))).flatten().collect()).collect()"')
00:00:17 verbose #700 > 00:00:16 debug #61 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/594229021e654e891128772b5e551a47d8d05f7a887a9fd7418a20fafa5d2df8/main.spi
00:00:17 verbose #701 > >
00:00:17 verbose #702 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #703 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #704 > > │ ## replace_regex │
00:00:17 verbose #705 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #706 > >
00:00:17 verbose #707 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #708 > > inl replace_regex (pattern : string) (replacement : string) (s : string) :
00:00:17 verbose #709 > > string =
00:00:17 verbose #710 > > run_target function
00:00:17 verbose #711 > > | Fsharp (Native) => fun () =>
00:00:17 verbose #712 > > inl replacement = join replacement
00:00:17 verbose #713 > > $"System.Text.RegularExpressions.Regex.Replace (!s, !pattern,
00:00:17 verbose #714 > > !replacement)"
00:00:17 verbose #715 > > | Rust (Native) => fun () =>
00:00:17 verbose #716 > > inl s = join s
00:00:17 verbose #717 > > inl replacement = join replacement
00:00:17 verbose #718 > > inl regex = pattern |> new_regex |> resultm.unwrap'
00:00:17 verbose #719 > > !\\((regex, s, replacement), $'$"$0.replace_all(&$1, &*$2)"')
00:00:17 verbose #720 > > |> cow_to_std_string
00:00:17 verbose #721 > > |> from_std_string
00:00:17 verbose #722 > > | _ => fun () => null ()
00:00:17 verbose #723 > 00:00:17 debug #62 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f1c697d56650f27ee3bb3e7e3de0de91bc4e91378e88278893bb4311a7218446/main.spi
00:00:17 verbose #724 > >
00:00:17 verbose #725 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #726 > > //// test
00:00:17 verbose #727 > >
00:00:17 verbose #728 > > " 123"
00:00:17 verbose #729 > > |> replace_regex "\\s\\w2" ""
00:00:17 verbose #730 > > |> _assert_eq "3"
00:00:17 verbose #731 > 00:00:17 debug #63 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/883a96ac6f1b9111e61aa9635c7fb7cd5c72461b47049632434054b33adb5839/main.spi
00:00:17 verbose #732 > >
00:00:17 verbose #733 > > ╭─[ 88.17ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:17 verbose #734 > > │ assert_eq / actual: "3" / expected: "3" │
00:00:17 verbose #735 > > │ │
00:00:17 verbose #736 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #737 > >
00:00:17 verbose #738 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:17 verbose #739 > > //// test
00:00:17 verbose #740 > > ///! rust -d regex
00:00:17 verbose #741 > >
00:00:17 verbose #742 > > types ()
00:00:17 verbose #743 > > " 123"
00:00:17 verbose #744 > > |> replace_regex "\\s\\w2" ""
00:00:17 verbose #745 > > |> _assert_eq "3"
00:00:17 verbose #746 > 00:00:17 debug #64 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b686452260dacfb83b4e2d44de63173e539bcd80d5c71a0e3d471b51bd7555a0/main.spi
00:00:30 verbose #747 > >
00:00:30 verbose #748 > > ╭─[ 12.07s - return value ]────────────────────────────────────────────────────╮
00:00:30 verbose #749 > > │ assert_eq / actual: "3" / expected: "3" │
00:00:30 verbose #750 > > │ │
00:00:30 verbose #751 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #752 > >
00:00:30 verbose #753 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #754 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #755 > > │ ## serialize │
00:00:30 verbose #756 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #757 > >
00:00:30 verbose #758 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #759 > > inl serialize forall t. (x : t) : resultm.result' std_string json_error =
00:00:30 verbose #760 > > !\($'"serde_json::to_string(&!x)"')
00:00:30 verbose #761 > 00:00:29 debug #65 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3b77f4c94f00b2e5e4d5c19f365743ffed8a46952b52981b991c1ce8dbb1ff05/main.spi
00:00:30 verbose #762 > >
00:00:30 verbose #763 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #764 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #765 > > │ ## deserialize │
00:00:30 verbose #766 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #767 > >
00:00:30 verbose #768 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #769 > > inl deserialize forall t. (json : string) : resultm.result' t std_string =
00:00:30 verbose #770 > > inl json = join json
00:00:30 verbose #771 > > inl json = json |> as_str
00:00:30 verbose #772 > > !\($'"serde_json::from_str(&!json)"')
00:00:30 verbose #773 > > |> resultm.map_error' fun (x : json_error) => x |> format'
00:00:30 verbose #774 > 00:00:29 debug #66 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/adff1afec3a0d5d1f7fb14b7f5cd3a91eb04e17000dd148698a8e40047dd305a/main.spi
00:00:30 verbose #775 > >
00:00:30 verbose #776 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #777 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #778 > > │ ## borsh_deserialize │
00:00:30 verbose #779 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #780 > >
00:00:30 verbose #781 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #782 > > inl borsh_deserialize forall t. (data : array_base u8) : resultm.result' t
00:00:30 verbose #783 > > std_string =
00:00:30 verbose #784 > > inl data = data |> am'.as_slice
00:00:30 verbose #785 > > (!\($'"true; let mut !data = !data"') : bool) |> ignore
00:00:30 verbose #786 > > inl result = !\($'"borsh::BorshDeserialize::deserialize(&mut !data)"')
00:00:30 verbose #787 > > result
00:00:30 verbose #788 > > |> resultm.map_error' fun (x : borsh_io_error) => x |> format'
00:00:30 verbose #789 > 00:00:29 debug #67 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/893f9c7d9d9794056c9797de5833c4f082d18934119872f8417df1d5a02fe882/main.spi
00:00:30 verbose #790 > >
00:00:30 verbose #791 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #792 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #793 > > │ ## deserialize_vec │
00:00:30 verbose #794 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #795 > >
00:00:30 verbose #796 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #797 > > inl deserialize_vec (value : json_value) : resultm.result' (am'.vec u8)
00:00:30 verbose #798 > > std_string =
00:00:30 verbose #799 > > inl value = join value
00:00:30 verbose #800 > > !\($'"serde_json::from_value(!value)"')
00:00:30 verbose #801 > > |> resultm.map_error' fun (x : json_error) => x |> format'
00:00:30 verbose #802 > 00:00:29 debug #68 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/23368343cffaf85f2d445c885e7a3ca502aeca17a2b0ac0c392c01be5f4c1c24/main.spi
00:00:30 verbose #803 > >
00:00:30 verbose #804 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #805 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #806 > > │ ## encode_uri_component │
00:00:30 verbose #807 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #808 > >
00:00:30 verbose #809 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #810 > > inl encode_uri_component (s : std_string) : js_string =
00:00:30 verbose #811 > > !\($'"js_sys::encode_uri_component(&!s)"')
00:00:30 verbose #812 > 00:00:29 debug #69 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3b93a8adbcc4233d920808e6514e570fc0ace0c8f3f0a1e80e9236dedca248c5/main.spi
00:00:30 verbose #813 > >
00:00:30 verbose #814 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #815 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #816 > > │ ## strip_prefix │
00:00:30 verbose #817 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #818 > >
00:00:30 verbose #819 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #820 > > inl strip_prefix (prefix : char) (s : std_string) : optionm'.option' (rust.ref'
00:00:30 verbose #821 > > str) =
00:00:30 verbose #822 > > inl s = join s
00:00:30 verbose #823 > > !\($'"!s.strip_prefix(!prefix)"')
00:00:30 verbose #824 > 00:00:29 debug #70 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/10e3ed7d2df0b0f0b5954531068b19fcc4a5519827f68511df2e378afe8d4daf/main.spi
00:00:30 verbose #825 > >
00:00:30 verbose #826 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #827 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #828 > > │ ## str_from_utf8 │
00:00:30 verbose #829 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #830 > >
00:00:30 verbose #831 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #832 > > inl str_from_utf8 (bytes : rust.ref' (am'.slice u8)) : resultm.result'
00:00:30 verbose #833 > > (rust.ref' str) utf8_error =
00:00:30 verbose #834 > > !\($'"std::str::from_utf8(!bytes)"')
00:00:30 verbose #835 > 00:00:30 debug #71 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/97778cae21c65b0be69f346940fd0cb582a4687c5d3978b0a5c1d7d44bb030af/main.spi
00:00:30 verbose #836 > >
00:00:30 verbose #837 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #838 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #839 > > │ ## string_from_utf8 │
00:00:30 verbose #840 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #841 > >
00:00:30 verbose #842 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #843 > > inl string_from_utf8 (bytes : am'.vec u8) : resultm.result' std_string
00:00:30 verbose #844 > > from_utf8_error =
00:00:30 verbose #845 > > !\($'"std::string::String::from_utf8(!bytes)"')
00:00:30 verbose #846 > 00:00:30 debug #72 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/550df47397e13c2d1b6774178eeff403e50222567f1ff6c0a5ea28a0a7ff3b6d/main.spi
00:00:30 verbose #847 > >
00:00:30 verbose #848 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #849 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #850 > > │ ## base64_decode │
00:00:30 verbose #851 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #852 > >
00:00:30 verbose #853 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #854 > > inl base64_decode (s : std_string) : result std_string std_string =
00:00:30 verbose #855 > > fun () =>
00:00:30 verbose #856 > > inl s = join s
00:00:30 verbose #857 > > inl bytes : resultm.result' (am'.vec u8) base64_decode_error =
00:00:30 verbose #858 > >
00:00:30 verbose #859 > > !\($'"base64::Engine::decode(&base64::engine::general_purpose::STANDARD, !s)"')
00:00:30 verbose #860 > > bytes
00:00:30 verbose #861 > > |> resultm.map_error' format'
00:00:30 verbose #862 > > |> resultm.try'
00:00:30 verbose #863 > > |> string_from_utf8
00:00:30 verbose #864 > > |> resultm.map_error' format'
00:00:30 verbose #865 > > |> fun x =>
00:00:30 verbose #866 > > join x ()
00:00:30 verbose #867 > > |> resultm.unbox
00:00:30 verbose #868 > 00:00:30 debug #73 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/082061f9ecb02dc65e6867b3e7775ba67af78248c012849857087bebb646818e/main.spi
00:00:30 verbose #869 > >
00:00:30 verbose #870 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #871 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #872 > > │ ## encoding' │
00:00:30 verbose #873 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #874 > >
00:00:30 verbose #875 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #876 > > nominal encoding' = $'encoding_rs_Encoding'
00:00:30 verbose #877 > 00:00:30 debug #74 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7ec4aade8e9d5a41a13d27b77e89abecc1e3dbf82ee930473813a18d0c8ce66e/main.spi
00:00:30 verbose #878 > >
00:00:30 verbose #879 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #880 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #881 > > │ ## encoding_utf8' │
00:00:30 verbose #882 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #883 > >
00:00:30 verbose #884 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #885 > > inl encoding_utf8' () : rust.ref' encoding' =
00:00:30 verbose #886 > > !\($'"encoding_rs::UTF_8"')
00:00:30 verbose #887 > 00:00:30 debug #75 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3e0a875fa86813773f0f67a872a45008c2597e748ec39af5d9f03345946514d5/main.spi
00:00:30 verbose #888 > >
00:00:30 verbose #889 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #890 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #891 > > │ ## encoding_1252 │
00:00:30 verbose #892 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #893 > >
00:00:30 verbose #894 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #895 > > inl encoding_1252' () : rust.ref' encoding' =
00:00:30 verbose #896 > > !\($'"encoding_rs::WINDOWS_1252"')
00:00:30 verbose #897 > 00:00:30 debug #76 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/75696bfaf3ac992a01da14bc222c90a9f97cec3195dabf1b2c4f4ef53c795d0d/main.spi
00:00:30 verbose #898 > >
00:00:30 verbose #899 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:30 verbose #900 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:30 verbose #901 > > │ ## encoding_encode │
00:00:30 verbose #902 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:30 verbose #903 > >
00:00:30 verbose #904 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:30 verbose #905 > > inl encoding_encode' (encoding : rust.ref' encoding') (text : string) : rust.cow
00:00:30 verbose #906 > > (am'.slice u8) =
00:00:30 verbose #907 > > !\\((encoding, text), $'"$0.encode(&*$1).0"')
00:00:30 verbose #908 > 00:00:30 debug #77 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d040abef95237823a00c4ac6a37d1ec5da521bff1ec0a478c481944ed8abb4fe/main.spi
00:00:31 verbose #909 > >
00:00:31 verbose #910 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:31 verbose #911 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:31 verbose #912 > > │ ## write_all_text │
00:00:31 verbose #913 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 verbose #914 > >
00:00:31 verbose #915 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 verbose #916 > > inl write_all_text (path : string) (text : string) : () =
00:00:31 verbose #917 > > run_target function
00:00:31 verbose #918 > > | Fsharp (Native) => fun () =>
00:00:31 verbose #919 > > inl text = join text
00:00:31 verbose #920 > > $'System.IO.File.WriteAllText (!path, !text)'
00:00:31 verbose #921 > > | Rust (Native) => fun () =>
00:00:31 verbose #922 > > open rust_operators
00:00:31 verbose #923 > > !\\((path, text), $'"std::fs::write(&*$0, &*$1).unwrap()"')
00:00:31 verbose #924 > > | _ => fun () => null ()
00:00:31 verbose #925 > 00:00:30 debug #78 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4d738548d04ea7b9657f328aa22d66abbc96b744ed6045ba15d29ab6782ba826/main.spi
00:00:31 verbose #926 > >
00:00:31 verbose #927 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:31 verbose #928 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:31 verbose #929 > > │ ## utf8_decode │
00:00:31 verbose #930 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 verbose #931 > >
00:00:31 verbose #932 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 verbose #933 > > inl utf8_decode (data : am'.vec u8) : resultm.result' std_string (rust.cow str)
00:00:31 verbose #934 > > =
00:00:31 verbose #935 > > !\($'$"encoding::Encoding::decode(encoding::all::UTF_8, &!data,
00:00:31 verbose #936 > > encoding::DecoderTrap::Replace)"')
00:00:31 verbose #937 > 00:00:30 debug #79 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7f8caecbf9218825c480fa8afe9e099ac861c62055ae708641b965ad821ccee3/main.spi
00:00:31 verbose #938 > >
00:00:31 verbose #939 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:31 verbose #940 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:31 verbose #941 > > │ ## concat_array_trailing │
00:00:31 verbose #942 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:31 verbose #943 > >
00:00:31 verbose #944 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 verbose #945 > > inl concat_array_trailing (separator : string) (input : a i32 string) =
00:00:31 verbose #946 > > ("", input)
00:00:31 verbose #947 > > ||> am.fold fun acc (x : string) =>
00:00:31 verbose #948 > > $'!acc + !x + !separator + ""'
00:00:31 verbose #949 > 00:00:30 debug #80 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cdd59193943417d1e732e6529b298862ee20a3934a318faaefffb93d44cdd247/main.spi
00:00:31 verbose #950 > >
00:00:31 verbose #951 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:31 verbose #952 > > //// test
00:00:31 verbose #953 > > ///! rust
00:00:31 verbose #954 > >
00:00:31 verbose #955 > > ;[[
00:00:31 verbose #956 > > "1"
00:00:31 verbose #957 > > "2"
00:00:31 verbose #958 > > "3"
00:00:31 verbose #959 > > ]]
00:00:31 verbose #960 > > |> fun x =>
00:00:31 verbose #961 > > inl code = (a x : _ i32 _) |> concat_array_trailing "\n"
00:00:31 verbose #962 > > code
00:00:31 verbose #963 > > |> _assert_eq "1\n2\n3\n"
00:00:31 verbose #964 > 00:00:30 debug #81 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/93f264a5378379345eb2325e01eecb53e7abeabab50e633804e71fcb210a157a/main.spi
00:00:41 verbose #965 > >
00:00:41 verbose #966 > > ╭─[ 10.46s - return value ]────────────────────────────────────────────────────╮
00:00:41 verbose #967 > > │ assert_eq / actual: "1 │
00:00:41 verbose #968 > > │ 2 │
00:00:41 verbose #969 > > │ 3 │
00:00:41 verbose #970 > > │ " / expected: "1 │
00:00:41 verbose #971 > > │ 2 │
00:00:41 verbose #972 > > │ 3 │
00:00:41 verbose #973 > > │ " │
00:00:41 verbose #974 > > │ │
00:00:41 verbose #975 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:41 verbose #976 > >
00:00:41 verbose #977 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:41 verbose #978 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:41 verbose #979 > > │ ## concat_list_trailing │
00:00:41 verbose #980 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:41 verbose #981 > >
00:00:41 verbose #982 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:41 verbose #983 > > inl concat_list_trailing separator input =
00:00:41 verbose #984 > > ("", input)
00:00:41 verbose #985 > > ||> listm.fold fun acc (x : string) =>
00:00:41 verbose #986 > > $'!acc + !x + !separator + ""'
00:00:41 verbose #987 > 00:00:41 debug #82 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ed977349ef4ed577475a7ee904570013ffda9d4d6188801350342e22f7a96e6a/main.spi
00:00:41 verbose #988 > >
00:00:41 verbose #989 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:41 verbose #990 > > //// test
00:00:41 verbose #991 > > ///! rust
00:00:41 verbose #992 > >
00:00:41 verbose #993 > > [[
00:00:41 verbose #994 > > "1"
00:00:41 verbose #995 > > "2"
00:00:41 verbose #996 > > "3"
00:00:41 verbose #997 > > ]]
00:00:41 verbose #998 > > |> fun x =>
00:00:41 verbose #999 > > inl code = (x : _) |> concat_list_trailing "\n"
00:00:41 verbose #1000 > > code
00:00:41 verbose #1001 > > |> _assert_eq "1\n2\n3\n"
00:00:41 verbose #1002 > 00:00:41 debug #83 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d7d6c2c59a42fee9593735c60ad269fec64224662126fff6bec8d10cf71de9d1/main.spi
00:00:51 verbose #1003 > >
00:00:51 verbose #1004 > > ╭─[ 9.93s - return value ]─────────────────────────────────────────────────────╮
00:00:51 verbose #1005 > > │ assert_eq / actual: "1 │
00:00:51 verbose #1006 > > │ 2 │
00:00:51 verbose #1007 > > │ 3 │
00:00:51 verbose #1008 > > │ " / expected: "1 │
00:00:51 verbose #1009 > > │ 2 │
00:00:51 verbose #1010 > > │ 3 │
00:00:51 verbose #1011 > > │ " │
00:00:51 verbose #1012 > > │ │
00:00:51 verbose #1013 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:51 verbose #1014 > >
00:00:51 verbose #1015 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:51 verbose #1016 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:51 verbose #1017 > > │ ## concat_list_heap_trailing │
00:00:51 verbose #1018 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:51 verbose #1019 > >
00:00:51 verbose #1020 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:51 verbose #1021 > > inl concat_list_heap_trailing separator input =
00:00:51 verbose #1022 > > inl separator = join separator
00:00:51 verbose #1023 > > inl separator = separator |> as_str
00:00:51 verbose #1024 > > ("", input)
00:00:51 verbose #1025 > > ||> listm.fold fun acc (x : string) =>
00:00:51 verbose #1026 > > inl acc = acc |> to_std_string
00:00:51 verbose #1027 > > inl x = x |> as_str
00:00:51 verbose #1028 > > $'$"{!acc}{!x}{!separator}"'
00:00:51 verbose #1029 > 00:00:51 debug #84 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5cbdcc21ae4fad0973c0174690e681c3dcaa72cf84201f5405818126c562aab3/main.spi
00:00:51 verbose #1030 > >
00:00:51 verbose #1031 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:51 verbose #1032 > > //// test
00:00:51 verbose #1033 > > ///! rust
00:00:51 verbose #1034 > >
00:00:51 verbose #1035 > > types ()
00:00:51 verbose #1036 > >
00:00:51 verbose #1037 > > [[
00:00:51 verbose #1038 > > "1"
00:00:51 verbose #1039 > > "2"
00:00:51 verbose #1040 > > "3"
00:00:51 verbose #1041 > > ]]
00:00:51 verbose #1042 > > |> fun x =>
00:00:51 verbose #1043 > > inl code = (x : _) |> concat_list_heap_trailing "\n"
00:00:51 verbose #1044 > > code
00:00:51 verbose #1045 > > |> _assert_eq "1\n2\n3\n"
00:00:51 verbose #1046 > 00:00:51 debug #85 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/045ed6c07ea788dd115394764aedf802bf98d781c4de31e12c781e05f35e7d23/main.spi
00:01:01 verbose #1047 > >
00:01:01 verbose #1048 > > ╭─[ 10.11s - return value ]────────────────────────────────────────────────────╮
00:01:01 verbose #1049 > > │ assert_eq / actual: "1 │
00:01:01 verbose #1050 > > │ 2 │
00:01:01 verbose #1051 > > │ 3 │
00:01:01 verbose #1052 > > │ " / expected: "1 │
00:01:01 verbose #1053 > > │ 2 │
00:01:01 verbose #1054 > > │ 3 │
00:01:01 verbose #1055 > > │ " │
00:01:01 verbose #1056 > > │ │
00:01:01 verbose #1057 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:01 verbose #1058 > >
00:01:01 verbose #1059 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:01 verbose #1060 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:01 verbose #1061 > > │ ## concat │
00:01:01 verbose #1062 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:01 verbose #1063 > >
00:01:01 verbose #1064 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:01 verbose #1065 > > inl concat (a : string) (b : seq.seq' _) : string =
00:01:01 verbose #1066 > > inl a = join a
00:01:01 verbose #1067 > > b |> $"String.concat" a
00:01:01 verbose #1068 > 00:01:01 debug #86 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/132dcd0c0ea46c28fc4475f2c85ff8690c1542d6bc6cb0f09053270be8f2af31/main.spi
00:01:01 verbose #1069 > >
00:01:01 verbose #1070 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:01 verbose #1071 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:01 verbose #1072 > > │ ## ellipsis │
00:01:01 verbose #1073 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:01 verbose #1074 > >
00:01:01 verbose #1075 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:01 verbose #1076 > > inl ellipsis (max : i32) (s : string) =
00:01:01 verbose #1077 > > if sm.length s <= max
00:01:01 verbose #1078 > > then s
00:01:01 verbose #1079 > > else s |> slice 0 (max - 1) |> fun x => $'!x + "..."'
00:01:01 verbose #1080 > 00:01:01 debug #87 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c591cde26830a08ef1d90efead0402e6284885705279efce454664e2c3845bb3/main.spi
00:01:02 verbose #1081 > >
00:01:02 verbose #1082 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1083 > > //// test
00:01:02 verbose #1084 > >
00:01:02 verbose #1085 > > "12345"
00:01:02 verbose #1086 > > |> ellipsis 2
00:01:02 verbose #1087 > > |> _assert_eq "12..."
00:01:02 verbose #1088 > >
00:01:02 verbose #1089 > > "12345"
00:01:02 verbose #1090 > > |> ellipsis 4
00:01:02 verbose #1091 > > |> _assert_eq "1234..."
00:01:02 verbose #1092 > 00:01:01 debug #88 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f6a55e86ef1933dba277ddcb0e7c2636ac3d4f26c0d3eb0b35ff2e165e23e90a/main.spi
00:01:02 verbose #1093 > >
00:01:02 verbose #1094 > > ╭─[ 119.47ms - stdout ]────────────────────────────────────────────────────────╮
00:01:02 verbose #1095 > > │ assert_eq / actual: "12..." / expected: "12..." │
00:01:02 verbose #1096 > > │ assert_eq / actual: "1234..." / expected: "1234..." │
00:01:02 verbose #1097 > > │ │
00:01:02 verbose #1098 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1099 > >
00:01:02 verbose #1100 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:02 verbose #1101 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:02 verbose #1102 > > │ ## ellipsis_end │
00:01:02 verbose #1103 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1104 > >
00:01:02 verbose #1105 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1106 > > let ellipsis_end (max : i64) (s : string) =
00:01:02 verbose #1107 > > inl len = sm.length s
00:01:02 verbose #1108 > > if len <= max
00:01:02 verbose #1109 > > then s
00:01:02 verbose #1110 > > else
00:01:02 verbose #1111 > > inl half = f64 max / 2
00:01:02 verbose #1112 > > inl start_half = half |> math.ceil |> i64
00:01:02 verbose #1113 > > inl end_half = half |> math.floor |> i64
00:01:02 verbose #1114 > > inl start = s |> slice 0 (start_half - 1)
00:01:02 verbose #1115 > > inl end = s |> slice (len - end_half) (len - 1)
00:01:02 verbose #1116 > > (a ;[[start; "..."; end]] : _ i32 _)
00:01:02 verbose #1117 > > |> seq.of_array
00:01:02 verbose #1118 > > |> concat ""
00:01:02 verbose #1119 > 00:01:01 debug #89 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/91be98c6112dd7f41c9e5c9e1aa4a47072ac71ab91a738844aae2fade42a922b/main.spi
00:01:02 verbose #1120 > >
00:01:02 verbose #1121 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1122 > > //// test
00:01:02 verbose #1123 > >
00:01:02 verbose #1124 > > "12345"
00:01:02 verbose #1125 > > |> ellipsis_end 2
00:01:02 verbose #1126 > > |> _assert_eq "1...5"
00:01:02 verbose #1127 > >
00:01:02 verbose #1128 > > "12345"
00:01:02 verbose #1129 > > |> ellipsis_end 3
00:01:02 verbose #1130 > > |> _assert_eq "12...5"
00:01:02 verbose #1131 > >
00:01:02 verbose #1132 > > "1234567"
00:01:02 verbose #1133 > > |> ellipsis_end 4
00:01:02 verbose #1134 > > |> _assert_eq "12...67"
00:01:02 verbose #1135 > 00:01:01 debug #90 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/034cf8a970be706c0a062e7aba76dcf449c9b38eb45bc1ceec4848f5d3eb6323/main.spi
00:01:02 verbose #1136 > >
00:01:02 verbose #1137 > > ╭─[ 255.86ms - stdout ]────────────────────────────────────────────────────────╮
00:01:02 verbose #1138 > > │ assert_eq / actual: "1...5" / expected: "1...5" │
00:01:02 verbose #1139 > > │ assert_eq / actual: "12...5" / expected: "12...5" │
00:01:02 verbose #1140 > > │ assert_eq / actual: "12...67" / expected: "12...67" │
00:01:02 verbose #1141 > > │ │
00:01:02 verbose #1142 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1143 > >
00:01:02 verbose #1144 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:02 verbose #1145 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:02 verbose #1146 > > │ ## format_ellipsis │
00:01:02 verbose #1147 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1148 > >
00:01:02 verbose #1149 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1150 > > inl format_ellipsis s =
00:01:02 verbose #1151 > > s
00:01:02 verbose #1152 > > |> format_debug
00:01:02 verbose #1153 > > |> ellipsis_end 400
00:01:02 verbose #1154 > 00:01:02 debug #91 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a4bcbb8d44aaa550a29a953007821a60345e3247d514a6fe7464a35037dcadfd/main.spi
00:01:02 verbose #1155 > >
00:01:02 verbose #1156 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:02 verbose #1157 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:02 verbose #1158 > > │ ## split │
00:01:02 verbose #1159 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1160 > >
00:01:02 verbose #1161 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1162 > > inl split (separator : string) (str : string) : array_base string =
00:01:02 verbose #1163 > > $"!str.Split !separator"
00:01:02 verbose #1164 > 00:01:02 debug #92 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/039c44ef233128df16adcc57c8ffa3a2983fc20b73033ac3d25b81b35b2c412a/main.spi
00:01:02 verbose #1165 > >
00:01:02 verbose #1166 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:02 verbose #1167 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:02 verbose #1168 > > │ ## split_string │
00:01:02 verbose #1169 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1170 > >
00:01:02 verbose #1171 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1172 > > inl split_string (separator : array_base string) (str : string) : array_base
00:01:02 verbose #1173 > > string =
00:01:02 verbose #1174 > > run_target function
00:01:02 verbose #1175 > > | Fsharp (Native) => fun () => $"!str.Split (!separator,
00:01:02 verbose #1176 > > System.StringSplitOptions.None)"
00:01:02 verbose #1177 > > | _ => fun () => str |> split ((a separator : _ i32 _) |> seq.of_array
00:01:02 verbose #1178 > > |> concat "")
00:01:02 verbose #1179 > 00:01:02 debug #93 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1f9e80bca40d4adf21d6cf607b934e8af33e28f265ac22280f5bb8d18be380c4/main.spi
00:01:02 verbose #1180 > >
00:01:02 verbose #1181 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:02 verbose #1182 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:02 verbose #1183 > > │ ## join' │
00:01:02 verbose #1184 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1185 > >
00:01:02 verbose #1186 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1187 > > inl join' (concat : string) (s : a i32 string) : string =
00:01:02 verbose #1188 > > $"System.String.Join (!concat, !s)"
00:01:02 verbose #1189 > 00:01:02 debug #94 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/98e5216184c9791c8ebed3815ca001632f3ee63709fcb751b19774f0333e5793/main.spi
00:01:02 verbose #1190 > >
00:01:02 verbose #1191 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:02 verbose #1192 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:02 verbose #1193 > > │ ## to_char_array │
00:01:02 verbose #1194 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:02 verbose #1195 > >
00:01:02 verbose #1196 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1197 > > inl to_char_array (str : string) : a i32 char =
00:01:02 verbose #1198 > > am.init (str |> sm.length) (fun i => sm.index str i)
00:01:02 verbose #1199 > 00:01:02 debug #95 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bdc92bc82de78fa8281f1d074aa9dad7bc37ca663824c2ecaf6a65bba14bd494/main.spi
00:01:02 verbose #1200 > >
00:01:02 verbose #1201 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:02 verbose #1202 > > //// test
00:01:02 verbose #1203 > >
00:01:02 verbose #1204 > > "abc"
00:01:02 verbose #1205 > > |> to_char_array
00:01:02 verbose #1206 > > |> _assert_eq (a ;[['a'; 'b'; 'c']])
00:01:02 verbose #1207 > 00:01:02 debug #96 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/39138605e2bf9b002cdd73bb552419c83877dbe1847059b6c3cbe8148cd14578/main.spi
00:01:03 verbose #1208 > >
00:01:03 verbose #1209 > > ╭─[ 158.56ms - stdout ]────────────────────────────────────────────────────────╮
00:01:03 verbose #1210 > > │ assert_eq / actual: [|'a'; 'b'; 'c'|] / expected: [|'a'; 'b'; 'c'|] │
00:01:03 verbose #1211 > > │ │
00:01:03 verbose #1212 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1213 > >
00:01:03 verbose #1214 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1215 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1216 > > │ ## to_char_list │
00:01:03 verbose #1217 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1218 > >
00:01:03 verbose #1219 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1220 > > inl to_char_list (str : string) : list char =
00:01:03 verbose #1221 > > listm.init (str |> sm.length) (fun (i : i64) => sm.index str i)
00:01:03 verbose #1222 > 00:01:02 debug #97 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b7ba354763633026d6870b11bcd373ad6c148e2519ea0ed28877130df469b329/main.spi
00:01:03 verbose #1223 > >
00:01:03 verbose #1224 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1225 > > //// test
00:01:03 verbose #1226 > >
00:01:03 verbose #1227 > > "abc"
00:01:03 verbose #1228 > > |> to_char_list
00:01:03 verbose #1229 > > |> _assert_eq [['a'; 'b'; 'c']]
00:01:03 verbose #1230 > 00:01:02 debug #98 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/769e3bf953682b4c444dfa17c9d40e9d9ec833200f651d58a441f009e7cdf68d/main.spi
00:01:03 verbose #1231 > >
00:01:03 verbose #1232 > > ╭─[ 114.96ms - stdout ]────────────────────────────────────────────────────────╮
00:01:03 verbose #1233 > > │ assert_eq / actual: UH0_1 ('a', UH0_1 ('b', UH0_1 ('c', UH0_0))) / expected: │
00:01:03 verbose #1234 > > │ UH0_1 ('a', UH0_1 ('b', UH0_1 ('c', UH0_0))) │
00:01:03 verbose #1235 > > │ │
00:01:03 verbose #1236 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1237 > >
00:01:03 verbose #1238 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1239 > > nominal encoding = $'System.Text.Encoding'
00:01:03 verbose #1240 > >
00:01:03 verbose #1241 > > inl encoding_utf8 () : encoding =
00:01:03 verbose #1242 > > $'System.Text.Encoding.UTF8'
00:01:03 verbose #1243 > 00:01:02 debug #99 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ca4237d312b3229371f830de3275a507814ea495dbab99f78ba14967afb23572/main.spi
00:01:03 verbose #1244 > >
00:01:03 verbose #1245 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1246 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1247 > > │ ## utf8_get_bytes │
00:01:03 verbose #1248 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1249 > >
00:01:03 verbose #1250 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1251 > > inl utf8_get_bytes (s : string) : a i32 u8 =
00:01:03 verbose #1252 > > s |> $'`encoding.UTF8.GetBytes'
00:01:03 verbose #1253 > 00:01:02 debug #100 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c51382e70a33e303d2880ba7ced9d9d39967b2d1ff5fb35de6df7efdeccef0f4/main.spi
00:01:03 verbose #1254 > >
00:01:03 verbose #1255 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1256 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1257 > > │ ## byte_to_string │
00:01:03 verbose #1258 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1259 > >
00:01:03 verbose #1260 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1261 > > inl byte_to_string (format : string) (x : u8) : string =
00:01:03 verbose #1262 > > $'!x.ToString' format
00:01:03 verbose #1263 > 00:01:03 debug #101 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8f7b344dcb33f0cdf931972e242ba16498ba65ecb662b7ac4b50862b5733ff13/main.spi
00:01:03 verbose #1264 > >
00:01:03 verbose #1265 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1266 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1267 > > │ ## windows │
00:01:03 verbose #1268 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1269 > >
00:01:03 verbose #1270 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1271 > > nominal windows t = $'std_slice_Windows<`t>'
00:01:03 verbose #1272 > >
00:01:03 verbose #1273 > > inl windows (len : unativeint) (source : am'.vec u8) : windows u8 =
00:01:03 verbose #1274 > > inl source = source |> rust.new_box |> rust.box_leak
00:01:03 verbose #1275 > > // inl source' = source |> rust.clone
00:01:03 verbose #1276 > > inl result = !\\(len, $'"<[[_]]>::windows(!source, $0)"')
00:01:03 verbose #1277 > > // source |> rust.drop
00:01:03 verbose #1278 > > result
00:01:03 verbose #1279 > 00:01:03 debug #102 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/079a0c6f1c0275d8c6c6d5b1c714152ea27cb5aa83f31c8238803feac134572f/main.spi
00:01:03 verbose #1280 > >
00:01:03 verbose #1281 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1282 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1283 > > │ ## any │
00:01:03 verbose #1284 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1285 > >
00:01:03 verbose #1286 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1287 > > inl any forall t. (fn : string -> bool) (source : windows t) : bool =
00:01:03 verbose #1288 > > (!\($'"true; let mut !source = !source"') : bool) |> ignore
00:01:03 verbose #1289 > > inl fn' x =
00:01:03 verbose #1290 > > x
00:01:03 verbose #1291 > > |> str_from_utf8
00:01:03 verbose #1292 > > |> resultm.unwrap_or' #""
00:01:03 verbose #1293 > > |> ref_to_std_string
00:01:03 verbose #1294 > > |> from_std_string
00:01:03 verbose #1295 > > |> fn
00:01:03 verbose #1296 > > !\\(fn', $'"!source.any(move |x| $0(x))"')
00:01:03 verbose #1297 > 00:01:03 debug #103 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1aafa3e3ab19b879f8b96d50ea9b59971ee9173c4fa6e06bbc3e21633620d86f/main.spi
00:01:03 verbose #1298 > >
00:01:03 verbose #1299 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1300 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1301 > > │ ## slice_contains │
00:01:03 verbose #1302 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1303 > >
00:01:03 verbose #1304 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1305 > > inl slice_contains (text : string) (source : am'.vec u8) : bool =
00:01:03 verbose #1306 > > fun () =>
00:01:03 verbose #1307 > > inl source = join source
00:01:03 verbose #1308 > > source
00:01:03 verbose #1309 > > |> windows (text |> length |> (fun x => x : i32) |> unativeint)
00:01:03 verbose #1310 > > |> any ((=.) text)
00:01:03 verbose #1311 > > |> fun x => join x ()
00:01:03 verbose #1312 > 00:01:03 debug #104 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1afcec752f4566f158ef822973dc04ee35e3c9d271750a0efa41a165d345269c/main.spi
00:01:03 verbose #1313 > >
00:01:03 verbose #1314 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1315 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1316 > > │ ## as_bytes │
00:01:03 verbose #1317 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1318 > >
00:01:03 verbose #1319 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1320 > > inl as_bytes (text : string) : rust.ref' (am'.slice u8) =
00:01:03 verbose #1321 > > inl text = join text
00:01:03 verbose #1322 > > !\($'"!text.as_bytes()"')
00:01:03 verbose #1323 > 00:01:03 debug #105 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c6b0e74922d08cec358a222a7522181deb1773d865a3916c64260bd6671f9408/main.spi
00:01:03 verbose #1324 > >
00:01:03 verbose #1325 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:03 verbose #1326 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:03 verbose #1327 > > │ ## main │
00:01:03 verbose #1328 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:03 verbose #1329 > >
00:01:03 verbose #1330 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:03 verbose #1331 > > inl main () =
00:01:03 verbose #1332 > > types ()
00:01:03 verbose #1333 > > $"let contains x = !contains x" : ()
00:01:03 verbose #1334 > > $"let ends_with x = !ends_with x" : ()
00:01:03 verbose #1335 > > $"let pad_left x = !pad_left x" : ()
00:01:03 verbose #1336 > > $"let pad_right x = !pad_right x" : ()
00:01:03 verbose #1337 > > $"let replace x = !replace x" : ()
00:01:03 verbose #1338 > > $"let replace_regex x = !replace_regex x" : ()
00:01:03 verbose #1339 > > inl slice (a : i32) (b : i32) c = slice a b c
00:01:03 verbose #1340 > > $"let slice x = !slice x" : ()
00:01:03 verbose #1341 > > $"let split x = !split x" : ()
00:01:03 verbose #1342 > > $"let split_string x = !split_string x" : ()
00:01:03 verbose #1343 > > $"let starts_with x = !starts_with x" : ()
00:01:03 verbose #1344 > > $"let substring x = !substring x" : ()
00:01:03 verbose #1345 > > $"let to_lower x = !to_lower x" : ()
00:01:03 verbose #1346 > > $"let to_upper x = !to_upper x" : ()
00:01:03 verbose #1347 > > $"let trim x = !trim x" : ()
00:01:03 verbose #1348 > > $"let trim_end x = !trim_end x" : ()
00:01:03 verbose #1349 > > $"let trim_start x = !trim_start x" : ()
00:01:03 verbose #1350 > > $"let ellipsis x = !ellipsis x" : ()
00:01:03 verbose #1351 > > $"let ellipsis_end x = !ellipsis_end x" : ()
00:01:03 verbose #1352 > > $"let format_exception x = !format_exception x" : ()
00:01:03 verbose #1353 > > $"let concat_array_trailing x = !concat_array_trailing x" : ()
00:01:03 verbose #1354 > > inl concat a (b : seq.seq' string) = concat a b
00:01:03 verbose #1355 > > $"let concat x = !concat x" : ()
00:01:03 verbose #1356 > > $"let join' x = !join' x" : ()
00:01:03 verbose #1357 > > $"let to_char_array x = !to_char_array x" : ()
00:01:03 verbose #1358 > 00:01:03 debug #106 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2043de6d28022baed0030f1394b6cf007788994d3278759459f15282af0bb6aa/main.spi
00:01:04 verbose #1359 > >
00:01:04 verbose #1360 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:04 verbose #1361 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:04 verbose #1362 > > │ ## to_string std_string │
00:01:04 verbose #1363 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:04 verbose #1364 > >
00:01:04 verbose #1365 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:04 verbose #1366 > > open rust
00:01:04 verbose #1367 > > instance to_string std_string = from_std_string
00:01:04 verbose #1368 > 00:01:03 debug #107 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e05af3a618090250de59efee24297cd7a4b7a8a98e09eca8084b1c02d3be5da9/main.spi
00:01:04 verbose #1369 > 00:01:03 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 71339
00:01:04 verbose #1370 > 00:01:03 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:05 verbose #1371 > 00:01:03 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb to html
00:01:05 verbose #1372 > 00:01:03 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:05 verbose #1373 > 00:01:03 verbose #7 ! validate(nb)
00:01:05 verbose #1374 > 00:01:04 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:05 verbose #1375 > 00:01:04 verbose #9 ! return _pygments_highlight(
00:01:06 verbose #1376 > 00:01:04 verbose #10 ! [NbConvertApp] Writing 463737 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.html
00:01:06 verbose #1377 > 00:01:04 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 890
00:01:06 verbose #1378 > 00:01:04 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 890
00:01:06 verbose #1379 > 00:01:04 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/sm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/sm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:06 verbose #1380 > 00:01:05 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:06 verbose #1381 > 00:01:05 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:06 verbose #1382 > 00:01:05 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 72288
00:01:06 debug #1383 execute_with_options_async / exit_code: 0 / output.Length: 77168
00:01:06 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path sm'.dib --retries 3
00:01:06 debug #1384 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path rust.dib --retries 3",
[||], None, None, true, None)
00:01:06 verbose #1385 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "rust.dib", "--retries", "3"])
00:01:06 verbose #1386 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:01:08 verbose #1387 > >
00:01:08 verbose #1388 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:08 verbose #1389 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:08 verbose #1390 > > │ # rust │
00:01:08 verbose #1391 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:08 verbose #1392 > >
00:01:08 verbose #1393 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:08 verbose #1394 > > //// test
00:01:08 verbose #1395 > >
00:01:08 verbose #1396 > > open testing
00:01:08 verbose #1397 > >
00:01:08 verbose #1398 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:01:08 verbose #1399 > > #r
00:01:08 verbose #1400 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:08 verbose #1401 > > Net.Interactive.Spiral.dll"
00:01:08 verbose #1402 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:01:08 verbose #1403 > > #r
00:01:08 verbose #1404 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:08 verbose #1405 > > Net.Interactive.dll"
00:01:08 verbose #1406 > > open type Microsoft.DotNet.Interactive.Kernel
00:01:10 verbose #1407 > >
00:01:10 verbose #1408 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:10 verbose #1409 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:10 verbose #1410 > > │ ## types │
00:01:10 verbose #1411 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:10 verbose #1412 > >
00:01:10 verbose #1413 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:10 verbose #1414 > > inl types () =
00:01:10 verbose #1415 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1416 > > Fable.Core.Emit(\"core::any::Any\")>]]\n#endif\ntype core_any_Any = class end"
00:01:10 verbose #1417 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1418 > > Fable.Core.Emit(\"_\")>]]\n#endif\ntype core_ops_Try<'T> = class end"
00:01:10 verbose #1419 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1420 > > Fable.Core.Emit(\"Func0<$0>\")>]]\n#endif\ntype Func0<'T> = class end"
00:01:10 verbose #1421 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"Func1<$0,
00:01:10 verbose #1422 > > $1>\")>]]\n#endif\ntype Func0<'T, 'U> = class end"
00:01:10 verbose #1423 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1424 > > Fable.Core.Emit(\"Box<$0>\")>]]\n#endif\ntype Box<'T> = class end"
00:01:10 verbose #1425 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"dyn
00:01:10 verbose #1426 > > $0\")>]]\n#endif\ntype Dyn<'T> = class end"
00:01:10 verbose #1427 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1428 > > Fable.Core.Emit(\"Send\")>]]\n#endif\ntype Send<'T> = class end"
00:01:10 verbose #1429 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"Fn() ->
00:01:10 verbose #1430 > > $0\")>]]\n#endif\ntype Fn<'T> = class end"
00:01:10 verbose #1431 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1432 > > Fable.Core.Emit(\"Fn()\")>]]\n#endif\ntype FnUnit = class end"
00:01:10 verbose #1433 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"FnOnce()
00:01:10 verbose #1434 > > -> $0\")>]]\n#endif\ntype FnOnce<'T> = class end"
00:01:10 verbose #1435 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1436 > > Fable.Core.Emit(\"Fn($0)\")>]]\n#endif\ntype ActionFn<'T> = class end"
00:01:10 verbose #1437 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"Fn($0,
00:01:10 verbose #1438 > > $1)\")>]]\n#endif\ntype ActionFn2<'T, 'U> = class end"
00:01:10 verbose #1439 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"impl
00:01:10 verbose #1440 > > $0\")>]]\n#endif\ntype Impl<'T> = class end"
00:01:10 verbose #1441 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"mut
00:01:10 verbose #1442 > > $0\")>]]\n#endif\ntype Mut<'T> = class end"
00:01:10 verbose #1443 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1444 > > Fable.Core.Emit(\"&$0\")>]]\n#endif\ntype Ref<'T> = class end"
00:01:10 verbose #1445 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"$0 +
00:01:10 verbose #1446 > > $1\")>]]\n#endif\ntype LifetimeJoin<'T, 'U> = class end"
00:01:10 verbose #1447 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1448 > > Fable.Core.Emit(\"'static\")>]]\n#endif\ntype StaticLifetime = class end"
00:01:10 verbose #1449 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1450 > > Fable.Core.Emit(\"$0\")>]]\n#endif\ntype LifetimeRef<'T> = class end"
00:01:10 verbose #1451 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"$0
00:01:10 verbose #1452 > > $1\")>]]\n#endif\ntype Lifetime<'T, 'U> = class end"
00:01:10 verbose #1453 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1454 > > Fable.Core.Emit(\"MutCell<$0>\")>]]\n#endif\ntype MutCell<'T> = class end"
00:01:10 verbose #1455 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1456 > > Fable.Core.Emit(\"std::any::Any\")>]]\n#endif\ntype std_any_Any = class end"
00:01:10 verbose #1457 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1458 > > Fable.Core.Emit(\"std::borrow::Cow<$0>\")>]]\n#endif\ntype std_borrow_Cow<'T> =
00:01:10 verbose #1459 > > class end"
00:01:10 verbose #1460 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1461 > > Fable.Core.Emit(\"std::cell::RefCell<$0>\")>]]\n#endif\ntype
00:01:10 verbose #1462 > > std_cell_RefCell<'T> = class end"
00:01:10 verbose #1463 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1464 > > Fable.Core.Emit(\"std::pin::Pin<$0>\")>]]\n#endif\ntype std_pin_Pin<'T> = class
00:01:10 verbose #1465 > > end"
00:01:10 verbose #1466 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1467 > > Fable.Core.Emit(\"std::rc::Rc<$0>\")>]]\n#endif\ntype std_rc_Rc<'T> = class end"
00:01:10 verbose #1468 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:10 verbose #1469 > > Fable.Core.Emit(\"std::rc::Weak<$0>\")>]]\n#endif\ntype std_rc_Weak<'T> = class
00:01:10 verbose #1470 > > end"
00:01:10 verbose #1471 > 00:01:10 debug #108 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bf149991f72313dad66c1730a26692829cb5622ac8f156c71c8f54cdcba9aca9/main.spi
00:01:11 verbose #1472 > >
00:01:11 verbose #1473 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1474 > > nominal unit = $'unit'
00:01:11 verbose #1475 > > nominal any = $"core_any_Any"
00:01:11 verbose #1476 > > nominal try t = $'core_ops_Try<`t>'
00:01:11 verbose #1477 > > nominal cow t = $"std_borrow_Cow<`t>"
00:01:11 verbose #1478 > > nominal ref_cell t = $"std_cell_RefCell<`t>"
00:01:11 verbose #1479 > > nominal rc t = $"std_rc_Rc<`t>"
00:01:11 verbose #1480 > > nominal lifetime_join' (t : * -> *) u = $"LifetimeRef<`(t u)>"
00:01:11 verbose #1481 > > nominal lifetime_join t u = $"LifetimeJoin<`t, `u>"
00:01:11 verbose #1482 > > nominal lifetime t u = $"Lifetime<`t, `u>"
00:01:11 verbose #1483 > > nominal static_lifetime = $"StaticLifetime"
00:01:11 verbose #1484 > > nominal ref t = $"Ref<`t>"
00:01:11 verbose #1485 > > nominal static_ref t = ref (lifetime static_lifetime t)
00:01:11 verbose #1486 > > nominal weak_rc t = $"std_rc_Weak<`t>"
00:01:11 verbose #1487 > > nominal box t = $"Box<`t>"
00:01:11 verbose #1488 > > nominal mut_cell t = $"MutCell<`t>"
00:01:11 verbose #1489 > > nominal pin t = $"std_pin_Pin<`t>"
00:01:11 verbose #1490 > > nominal dyn' t = $"Dyn<`t>"
00:01:11 verbose #1491 > > nominal fn' t = $"Fn<`t>"
00:01:11 verbose #1492 > > nominal action_fn t = $"ActionFn<`t>"
00:01:11 verbose #1493 > > nominal action_fn2 t u = $"ActionFn2<`t, `u>"
00:01:11 verbose #1494 > > nominal fn_once t = $"FnOnce<`t>"
00:01:11 verbose #1495 > > nominal fn_unit = $"FnUnit"
00:01:11 verbose #1496 > > nominal func0 t = $"Func0<`t>"
00:01:11 verbose #1497 > > nominal func1 t u =
00:01:11 verbose #1498 > > `(
00:01:11 verbose #1499 > > typecase t with
00:01:11 verbose #1500 > > | () => `func0 `u
00:01:11 verbose #1501 > > | _ => $'' : $"Func0<`t, `u>"
00:01:11 verbose #1502 > > )
00:01:11 verbose #1503 > > nominal impl t = $"Impl<`t>"
00:01:11 verbose #1504 > > nominal mut' t = $"Mut<`t>"
00:01:11 verbose #1505 > > nominal ref' t = $"Ref<`t>"
00:01:11 verbose #1506 > > nominal send t = lifetime_join t $"Send<`t>"
00:01:11 verbose #1507 > > nominal static_ref' t = static_ref t
00:01:11 verbose #1508 > 00:01:10 debug #109 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f358db6a39071b1d6f35826a01feadd6b80cc7432bf27e37e7e873e885ca8fe/main.spi
00:01:11 verbose #1509 > >
00:01:11 verbose #1510 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #1511 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #1512 > > │ ## emit_expr │
00:01:11 verbose #1513 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #1514 > >
00:01:11 verbose #1515 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1516 > > inl emit_expr forall a t. (args : a) (code : string) : t =
00:01:11 verbose #1517 > > real
00:01:11 verbose #1518 > > $"Fable.Core.RustInterop.emitRustExpr !args !code" : t
00:01:11 verbose #1519 > 00:01:10 debug #110 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/364643cc53fda8e32821138e90b21d75633cde143554428755e9bf89a2176a1c/main.spi
00:01:11 verbose #1520 > >
00:01:11 verbose #1521 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #1522 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #1523 > > │ ## (~!\\) │
00:01:11 verbose #1524 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #1525 > >
00:01:11 verbose #1526 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1527 > > inl (~!\) forall t. (code : string) : t =
00:01:11 verbose #1528 > > emit_expr () code
00:01:11 verbose #1529 > 00:01:10 debug #111 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f91bd9a8531a1d6cd5919c3b4eb3643387a3a320d8770f01c38563d368994eea/main.spi
00:01:11 verbose #1530 > >
00:01:11 verbose #1531 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #1532 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #1533 > > │ ## (~!\\\\) │
00:01:11 verbose #1534 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #1535 > >
00:01:11 verbose #1536 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1537 > > inl (~!\\) forall t u. ((args : t), (code : string)) : u =
00:01:11 verbose #1538 > > emit_expr args code
00:01:11 verbose #1539 > 00:01:10 debug #112 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bc026170a42c21309aafd94556b8a0ad7af676c5887f274a3efff23c5bd8c017/main.spi
00:01:11 verbose #1540 > >
00:01:11 verbose #1541 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #1542 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #1543 > > │ ## emit │
00:01:11 verbose #1544 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #1545 > >
00:01:11 verbose #1546 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1547 > > inl emit forall t. (x : t) : t =
00:01:11 verbose #1548 > > !\\(x, $'"$0"')
00:01:11 verbose #1549 > 00:01:10 debug #113 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c07e33745c5f53ceb9e6eb30d35b8dbc3fa66400d7df26bca9754acc302f454c/main.spi
00:01:11 verbose #1550 > >
00:01:11 verbose #1551 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #1552 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #1553 > > │ ## emit' │
00:01:11 verbose #1554 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #1555 > >
00:01:11 verbose #1556 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1557 > > inl emit' forall t. (x : t) : t =
00:01:11 verbose #1558 > > !\\(x, $'"let !x = $0"')
00:01:11 verbose #1559 > > x
00:01:11 verbose #1560 > 00:01:11 debug #114 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/39ec51c9249cadf793c38a43ff6edd54a3e95a3b2a9bcaf54853c98df65af23b/main.spi
00:01:11 verbose #1561 > >
00:01:11 verbose #1562 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #1563 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #1564 > > │ ## clone │
00:01:11 verbose #1565 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #1566 > >
00:01:11 verbose #1567 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1568 > > inl clone forall t. (x : t) : t =
00:01:11 verbose #1569 > > !\\(x, $'"$0.clone()"')
00:01:11 verbose #1570 > 00:01:11 debug #115 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/abd5122bda0ee894a53def77cad913ba3aeb141b41b3bade9e36eb72dbcf73b1/main.spi
00:01:11 verbose #1571 > >
00:01:11 verbose #1572 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:11 verbose #1573 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:11 verbose #1574 > > │ ## new_box │
00:01:11 verbose #1575 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:11 verbose #1576 > >
00:01:11 verbose #1577 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:11 verbose #1578 > > inl new_box forall t. (x : t) : box t =
00:01:11 verbose #1579 > > !\\(x, $'"Box::new($0)"')
00:01:11 verbose #1580 > 00:01:11 debug #116 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7a255ab8ca127ac72c38d739f211fcf6a28590a75e1c91ad0b07d77582ef9742/main.spi
00:01:12 verbose #1581 > >
00:01:12 verbose #1582 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1583 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1584 > > │ ## new_rc │
00:01:12 verbose #1585 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1586 > >
00:01:12 verbose #1587 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1588 > > inl new_rc forall t. (x : t) : rc t =
00:01:12 verbose #1589 > > !\\(x, $'"std::rc::Rc::new($0)"')
00:01:12 verbose #1590 > 00:01:11 debug #117 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/beb8864a2fc261dbff8e645eb51926807f9474ca07655c4543a12871bacd91ef/main.spi
00:01:12 verbose #1591 > >
00:01:12 verbose #1592 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1593 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1594 > > │ ## rc_clone │
00:01:12 verbose #1595 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1596 > >
00:01:12 verbose #1597 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1598 > > inl rc_clone forall t. (x : rc t) : rc t =
00:01:12 verbose #1599 > > !\\(x, $'"std::rc::Rc::clone(&$0)"')
00:01:12 verbose #1600 > 00:01:11 debug #118 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/51ee6912b18daeafc991b26468798c1fe5c435a4097aaa773b1dc6094df60ef9/main.spi
00:01:12 verbose #1601 > >
00:01:12 verbose #1602 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1603 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1604 > > │ ## rc_unwrap_or_clone │
00:01:12 verbose #1605 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1606 > >
00:01:12 verbose #1607 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1608 > > inl rc_unwrap_or_clone forall t. (x : rc t) : t =
00:01:12 verbose #1609 > > !\\(x, $'"std::rc::Rc::unwrap_or_clone($0)"')
00:01:12 verbose #1610 > 00:01:11 debug #119 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5667375e5d2982bf27f0c8b94fd63b864c505ed827c2b19ee51d5cd181090b10/main.spi
00:01:12 verbose #1611 > >
00:01:12 verbose #1612 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1613 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1614 > > │ ## rc_downgrade │
00:01:12 verbose #1615 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1616 > >
00:01:12 verbose #1617 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1618 > > inl rc_downgrade forall t. (x : rc t) : weak_rc t =
00:01:12 verbose #1619 > > inl x = join x
00:01:12 verbose #1620 > > !\($'"std::rc::Rc::downgrade(&!x)"')
00:01:12 verbose #1621 > 00:01:11 debug #120 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/487d221ec882a7f6cbb7bfa5c4331c11862fa20b3882281358454b035f611e47/main.spi
00:01:12 verbose #1622 > >
00:01:12 verbose #1623 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1624 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1625 > > │ ## new_ref_cell │
00:01:12 verbose #1626 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1627 > >
00:01:12 verbose #1628 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1629 > > inl new_ref_cell forall t. (x : t) : ref_cell t =
00:01:12 verbose #1630 > > inl x = join x
00:01:12 verbose #1631 > > !\($'"std::cell::RefCell::new(!x)"')
00:01:12 verbose #1632 > 00:01:12 debug #121 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/325a4af5057b984082614625cb006ab791962e5aab260c68ef80a1a6c1b7ecac/main.spi
00:01:12 verbose #1633 > >
00:01:12 verbose #1634 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1635 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1636 > > │ ## ref_cell_borrow │
00:01:12 verbose #1637 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1638 > >
00:01:12 verbose #1639 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1640 > > inl ref_cell_borrow forall t. (x : rc (ref_cell t)) : t =
00:01:12 verbose #1641 > > inl x = join x
00:01:12 verbose #1642 > > !\($'"*std::cell::RefCell::borrow(&std::rc::Rc::clone(&!x))"')
00:01:12 verbose #1643 > 00:01:12 debug #122 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/59a0aa701307b1fd583685d887721c355db0caad1f2c9cd75a94b60664a22866/main.spi
00:01:12 verbose #1644 > >
00:01:12 verbose #1645 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1646 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1647 > > │ ## ref_cell_borrow_mut │
00:01:12 verbose #1648 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1649 > >
00:01:12 verbose #1650 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1651 > > inl ref_cell_borrow_mut forall t. (x : rc (ref_cell t)) : mut' t =
00:01:12 verbose #1652 > > inl x = join x
00:01:12 verbose #1653 > > !\($'"*std::cell::RefCell::borrow_mut(&std::rc::Rc::clone(&!x))"')
00:01:12 verbose #1654 > 00:01:12 debug #123 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d1c1861d48307d3fcd7d9626466b17fda66067c8a40aa960d2e1424f434b5726/main.spi
00:01:12 verbose #1655 > >
00:01:12 verbose #1656 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1657 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1658 > > │ ## to_mut │
00:01:12 verbose #1659 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1660 > >
00:01:12 verbose #1661 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1662 > > inl to_mut forall t. (x : t) : t =
00:01:12 verbose #1663 > > (!\($'"true; // 1"') : bool) |> ignore
00:01:12 verbose #1664 > > (!\($'"true; let mut !x = !x"') : bool) |> ignore
00:01:12 verbose #1665 > > (!\($'"true; !x"') : bool) |> ignore
00:01:12 verbose #1666 > > !\($'"!x"')
00:01:12 verbose #1667 > > // inl result = !\($'"!x"') : mut' t
00:01:12 verbose #1668 > > // !\($'"!result"')
00:01:12 verbose #1669 > > // inl result = !\($'"*/ // a"') : mut' t
00:01:12 verbose #1670 > > // inl result = !\($'"!x"') : mut' t
00:01:12 verbose #1671 > > // result |> fun x => $'!x |> unbox // b'
00:01:12 verbose #1672 > 00:01:12 debug #124 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4cb16e13511fed43b9374a83277729d5352153c51a5757b082ecdd54c60b7d5c/main.spi
00:01:12 verbose #1673 > >
00:01:12 verbose #1674 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1675 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1676 > > │ ## ref_map │
00:01:12 verbose #1677 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1678 > >
00:01:12 verbose #1679 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1680 > > inl ref_map forall t u. (fn : t -> u) (x : ref' t) : ref' u =
00:01:12 verbose #1681 > > !\($'"!fn(!x)"')
00:01:12 verbose #1682 > 00:01:12 debug #125 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ba6a11d65cad3e5927733d5b5e6ff6c34e1a0c8f600593bede65b1b5ab50f140/main.spi
00:01:12 verbose #1683 > >
00:01:12 verbose #1684 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1685 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1686 > > │ ## ref_invoke │
00:01:12 verbose #1687 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1688 > >
00:01:12 verbose #1689 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1690 > > inl ref_invoke forall t u. (fn : t -> u) (ref : ref' t) : u =
00:01:12 verbose #1691 > > !\\(fn, $'"$0(!ref.clone())"')
00:01:12 verbose #1692 > 00:01:12 debug #126 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/417e9d6db196810d3cbafc38a477c97c1790af650514ab476efe290e1e1e6233/main.spi
00:01:12 verbose #1693 > >
00:01:12 verbose #1694 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1695 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1696 > > │ ## cow_as_ref │
00:01:12 verbose #1697 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1698 > >
00:01:12 verbose #1699 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1700 > > inl cow_as_ref forall t. (s : cow t) : ref' t =
00:01:12 verbose #1701 > > !\\(s, $'"$0.as_ref()"')
00:01:12 verbose #1702 > 00:01:12 debug #127 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/23fc7a038255c200b688f89ca3b07577338c8524df1773b82b2f39546790e287/main.spi
00:01:12 verbose #1703 > >
00:01:12 verbose #1704 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:12 verbose #1705 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:12 verbose #1706 > > │ ## from_mut │
00:01:12 verbose #1707 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:12 verbose #1708 > >
00:01:12 verbose #1709 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:12 verbose #1710 > > inl from_mut forall t. (x : mut' t) : t =
00:01:12 verbose #1711 > > !\($'"!x"')
00:01:12 verbose #1712 > 00:01:12 debug #128 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/692b4a0edcfb2bc8bceacb1b0247509b32a5ce02bd652d2d42c3041fee1f3ca2/main.spi
00:01:13 verbose #1713 > >
00:01:13 verbose #1714 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1715 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1716 > > │ ## box_fn │
00:01:13 verbose #1717 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1718 > >
00:01:13 verbose #1719 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1720 > > inl box_fn forall t. (x : () -> ()) : box t =
00:01:13 verbose #1721 > > inl x = join x
00:01:13 verbose #1722 > > !\($'"Box::new(move || !x())"')
00:01:13 verbose #1723 > 00:01:12 debug #129 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b9dc6979b572cd1a37a7eea9fee8e13a53a2adf83b8346717c98fd0c134bc1aa/main.spi
00:01:13 verbose #1724 > >
00:01:13 verbose #1725 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1726 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1727 > > │ ## box_pin │
00:01:13 verbose #1728 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1729 > >
00:01:13 verbose #1730 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1731 > > inl box_pin forall t. (x : t) : pin (box t) =
00:01:13 verbose #1732 > > inl x = join x
00:01:13 verbose #1733 > > !\($'"Box::pin(!x)"')
00:01:13 verbose #1734 > 00:01:12 debug #130 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/300cc5362760b393e40dcba590739830639faf5d0dca6cc57c37da6b1c8b9194/main.spi
00:01:13 verbose #1735 > >
00:01:13 verbose #1736 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1737 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1738 > > │ ## to_ref │
00:01:13 verbose #1739 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1740 > >
00:01:13 verbose #1741 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1742 > > inl to_ref forall t. (x : t) : ref' t =
00:01:13 verbose #1743 > > !\\(x, $'"&$0"')
00:01:13 verbose #1744 > 00:01:12 debug #131 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/de896cb66a2b78c42c0798db2ba45a469d49f6fcc2e9d4ed5d15e08d224b6823/main.spi
00:01:13 verbose #1745 > >
00:01:13 verbose #1746 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1747 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1748 > > │ ## deref │
00:01:13 verbose #1749 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1750 > >
00:01:13 verbose #1751 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1752 > > inl deref forall t. (ref : ref' t) : t =
00:01:13 verbose #1753 > > !\\(ref, $'"*$0"')
00:01:13 verbose #1754 > 00:01:12 debug #132 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d06e4489690a490895dc4e6287ef904e29562bd2c0d670ce9641c6f7f89c3c31/main.spi
00:01:13 verbose #1755 > >
00:01:13 verbose #1756 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1757 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1758 > > │ ## ops_deref │
00:01:13 verbose #1759 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1760 > >
00:01:13 verbose #1761 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1762 > > inl ops_deref forall t. (ref : t) : t =
00:01:13 verbose #1763 > > inl ref = join ref
00:01:13 verbose #1764 > > !\($'"core::ops::Deref::deref(&!ref)"')
00:01:13 verbose #1765 > 00:01:12 debug #133 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0d0474ac6df138b8fd88867c837bde35728b2d4e8c6608c17a66c73dd227b3b5/main.spi
00:01:13 verbose #1766 > >
00:01:13 verbose #1767 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1768 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1769 > > │ ## func0_invoke │
00:01:13 verbose #1770 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1771 > >
00:01:13 verbose #1772 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1773 > > inl func0_invoke forall t. (x : func0 t) : t =
00:01:13 verbose #1774 > > !\\(x, $'"$0()"')
00:01:13 verbose #1775 > 00:01:13 debug #134 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/da3be50ebc2e2ab249760df06d08f707bb6d58992660f0802bee2e4c66b45625/main.spi
00:01:13 verbose #1776 > >
00:01:13 verbose #1777 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1778 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1779 > > │ ## func0_move │
00:01:13 verbose #1780 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1781 > >
00:01:13 verbose #1782 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1783 > > inl func0_move forall t. (fn : func0 t) : t =
00:01:13 verbose #1784 > > inl fn = join fn
00:01:13 verbose #1785 > > !\($'"(move || !fn())()"')
00:01:13 verbose #1786 > 00:01:13 debug #135 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1fe66a1eabe7eddb4658d089444d0866cf4c5f0bbcde83db78510cea7cc54c00/main.spi
00:01:13 verbose #1787 > >
00:01:13 verbose #1788 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1789 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1790 > > │ ## move │
00:01:13 verbose #1791 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1792 > >
00:01:13 verbose #1793 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1794 > > inl move forall t. (fn : () -> t) : func0 t =
00:01:13 verbose #1795 > > !\\(fn, $'"Func0::new(move || $0())"')
00:01:13 verbose #1796 > 00:01:13 debug #136 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1f602d34c04d038efad2634329faf8becc165fb493c7a19b1263e41fb35c3ddc/main.spi
00:01:13 verbose #1797 > >
00:01:13 verbose #1798 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1799 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1800 > > │ ## to_static_ref_unbox │
00:01:13 verbose #1801 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1802 > >
00:01:13 verbose #1803 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1804 > > inl to_static_ref_unbox forall t. (x : ref' t) : static_ref' t =
00:01:13 verbose #1805 > > x |> unbox
00:01:13 verbose #1806 > 00:01:13 debug #137 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d9bdac0ec771ad40cb15b9867dcb49a1445b362de543ee6175a205bb3540d508/main.spi
00:01:13 verbose #1807 > >
00:01:13 verbose #1808 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1809 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1810 > > │ ## from_static_ref_unbox │
00:01:13 verbose #1811 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1812 > >
00:01:13 verbose #1813 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1814 > > inl from_static_ref_unbox forall t. (x : static_ref' t) : ref' t =
00:01:13 verbose #1815 > > x |> unbox
00:01:13 verbose #1816 > 00:01:13 debug #138 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/57489546aae35a94c2473530cc06091eb4b0d2cad86638d181c70d2c59d35cd4/main.spi
00:01:13 verbose #1817 > >
00:01:13 verbose #1818 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1819 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1820 > > │ ## box_leak │
00:01:13 verbose #1821 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1822 > >
00:01:13 verbose #1823 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1824 > > inl box_leak forall t. (x : box t) : static_ref' (mut' t) =
00:01:13 verbose #1825 > > !\\(x, $'"Box::leak($0)"')
00:01:13 verbose #1826 > 00:01:13 debug #139 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c4f423992107f84ba35794807141089662b46f7d80c9c8f187d76c3524f724e4/main.spi
00:01:13 verbose #1827 > >
00:01:13 verbose #1828 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1829 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1830 > > │ ## drop │
00:01:13 verbose #1831 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1832 > >
00:01:13 verbose #1833 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1834 > > inl drop forall t. (x : t) : () =
00:01:13 verbose #1835 > > !\\(x, $'"drop($0)"')
00:01:13 verbose #1836 > 00:01:13 debug #140 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fdaec233b5a7f8622201b2528cae94892677e8d694309dc762acb39debafe83e/main.spi
00:01:13 verbose #1837 > >
00:01:13 verbose #1838 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:13 verbose #1839 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:13 verbose #1840 > > │ ## break │
00:01:13 verbose #1841 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:13 verbose #1842 > >
00:01:13 verbose #1843 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:13 verbose #1844 > > inl break () : () =
00:01:13 verbose #1845 > > (!\($'"true; break"') : bool) |> ignore
00:01:13 verbose #1846 > 00:01:13 debug #141 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/82c2ac70d05501b691d176313650f1de62ccffff0b052b8058a15759888eb32c/main.spi
00:01:14 verbose #1847 > >
00:01:14 verbose #1848 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:14 verbose #1849 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:14 verbose #1850 > > │ ## fix_closure' │
00:01:14 verbose #1851 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:14 verbose #1852 > >
00:01:14 verbose #1853 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:14 verbose #1854 > > inl fix_closure' (depth : u8 * u8) x =
00:01:14 verbose #1855 > > inl rec loop text (acc : string) n : string =
00:01:14 verbose #1856 > > if n <= 0
00:01:14 verbose #1857 > > then acc
00:01:14 verbose #1858 > > else loop text (acc +. text) (n - 1)
00:01:14 verbose #1859 > > inl a = depth |> fst |> loop "}" ""
00:01:14 verbose #1860 > > inl b = depth |> snd |> loop "{" ""
00:01:14 verbose #1861 > > $'"!x " + !a + "); " + !b + " //"'
00:01:14 verbose #1862 > 00:01:13 debug #142 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8e4e8c5d31a774c3efa7cd7cf3f0625082a85957bc03d0452e8520fc6d347906/main.spi
00:01:14 verbose #1863 > >
00:01:14 verbose #1864 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:14 verbose #1865 > > //// test
00:01:14 verbose #1866 > >
00:01:14 verbose #1867 > > fix_closure' (3, 2) 0i32
00:01:14 verbose #1868 > > |> _assert_eq "0 }}}); {{ //"
00:01:14 verbose #1869 > 00:01:13 debug #143 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8caf488105740c0c91a3ebb9c3dad6428a43fa1b97acbf6d0804199e97436305/main.spi
00:01:14 verbose #1870 > >
00:01:14 verbose #1871 > > ╭─[ 570.40ms - stdout ]────────────────────────────────────────────────────────╮
00:01:14 verbose #1872 > > │ assert_eq / actual: "0 }}}); {{ //" / expected: "0 }}}); {{ //" │
00:01:14 verbose #1873 > > │ │
00:01:14 verbose #1874 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:14 verbose #1875 > >
00:01:14 verbose #1876 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:14 verbose #1877 > > //// test
00:01:14 verbose #1878 > >
00:01:14 verbose #1879 > > fix_closure' (0, 0) ()
00:01:14 verbose #1880 > > |> _assert_eq "() ); //"
00:01:14 verbose #1881 > 00:01:14 debug #144 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1a3d1c91865bbf65df5c9144739b7791263610a06300b704ba4156bb9a3a0f19/main.spi
00:01:14 verbose #1882 > >
00:01:14 verbose #1883 > > ╭─[ 85.73ms - stdout ]─────────────────────────────────────────────────────────╮
00:01:14 verbose #1884 > > │ assert_eq / actual: "() ); //" / expected: "() ); //" │
00:01:14 verbose #1885 > > │ │
00:01:14 verbose #1886 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:14 verbose #1887 > >
00:01:14 verbose #1888 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:14 verbose #1889 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:14 verbose #1890 > > │ ## fix_closure │
00:01:14 verbose #1891 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:14 verbose #1892 > >
00:01:14 verbose #1893 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:14 verbose #1894 > > inl fix_closure depth x =
00:01:14 verbose #1895 > > inl code = fix_closure' depth x
00:01:14 verbose #1896 > > !\code
00:01:14 verbose #1897 > 00:01:14 debug #145 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6845d7b41258f43f94bf9d9ac5a05c38ba80ff4da3ca7bf8097ce9e7ee42086a/main.spi
00:01:14 verbose #1898 > >
00:01:14 verbose #1899 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:14 verbose #1900 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:14 verbose #1901 > > │ ## loop │
00:01:14 verbose #1902 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:14 verbose #1903 > >
00:01:14 verbose #1904 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:14 verbose #1905 > > inl loop (depth : i32) (fn : () -> ()) : () =
00:01:14 verbose #1906 > > (!\($'"true; loop { // rust.loop"') : bool) |> ignore
00:01:14 verbose #1907 > > fn ()
00:01:14 verbose #1908 > >
00:01:14 verbose #1909 > > listm.init depth id
00:01:14 verbose #1910 > > |> listm.iter fun n =>
00:01:14 verbose #1911 > > (!\($'"true; } // rust.loop"') : bool) |> ignore
00:01:14 verbose #1912 > >
00:01:14 verbose #1913 > > (!\($'"true; } // rust.loop"') : bool) |> ignore
00:01:14 verbose #1914 > >
00:01:14 verbose #1915 > > listm.init depth id
00:01:14 verbose #1916 > > |> listm.iter fun n =>
00:01:14 verbose #1917 > > (!\($'"true; { // rust.loop"') : bool) |> ignore
00:01:14 verbose #1918 > 00:01:14 debug #146 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/750e268055c5535032c5fe04499ca903bedd7f1fd73200d0792c25053a41ea33/main.spi
00:01:14 verbose #1919 > >
00:01:14 verbose #1920 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:14 verbose #1921 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:14 verbose #1922 > > │ ## run_tests │
00:01:14 verbose #1923 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:14 verbose #1924 > >
00:01:14 verbose #1925 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:14 verbose #1926 > > inl run_tests tests =
00:01:14 verbose #1927 > > (!\($'"true; () //"') : bool) |> ignore
00:01:14 verbose #1928 > >
00:01:14 verbose #1929 > > tests
00:01:14 verbose #1930 > > |> listm.iter fun name, fn =>
00:01:14 verbose #1931 > > !\($'"} /* /*"')
00:01:14 verbose #1932 > > (!\($'$"*/ #[[test]] fn " + !name + "() { //"') : bool) |> ignore
00:01:14 verbose #1933 > > fn name |> ignore
00:01:14 verbose #1934 > >
00:01:14 verbose #1935 > > tests
00:01:14 verbose #1936 > > |> listm.iter fun name, fn =>
00:01:14 verbose #1937 > > !\($'"{ //"') : ()
00:01:14 verbose #1938 > 00:01:14 debug #147 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/78f0a857c9db57fcdb2d0c7c8604178c77496449952af627d7d1868a72c91279/main.spi
00:01:15 verbose #1939 > >
00:01:15 verbose #1940 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:15 verbose #1941 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:15 verbose #1942 > > │ ## capture │
00:01:15 verbose #1943 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:15 verbose #1944 > >
00:01:15 verbose #1945 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:15 verbose #1946 > > inl capture forall t. (fn : () -> t) : t =
00:01:15 verbose #1947 > > (!\($'"true; let _result = (move || { //"') : bool) |> ignore
00:01:15 verbose #1948 > > (!\\(fn (), $'"true; $0 })()"') : bool) |> ignore
00:01:15 verbose #1949 > > !\($'"_result"')
00:01:15 verbose #1950 > 00:01:14 debug #148 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0a0e0b702c0fe62840347b1ddb2ac51e0fb87df63b642b6726a2c2b12b866c99/main.spi
00:01:15 verbose #1951 > 00:00:08 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 29873
00:01:15 verbose #1952 > 00:00:08 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:15 verbose #1953 > 00:00:09 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.ipynb to html
00:01:15 verbose #1954 > 00:00:09 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:15 verbose #1955 > 00:00:09 verbose #7 ! validate(nb)
00:01:16 verbose #1956 > 00:00:09 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:16 verbose #1957 > 00:00:09 verbose #9 ! return _pygments_highlight(
00:01:16 verbose #1958 > 00:00:10 verbose #10 ! [NbConvertApp] Writing 358988 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.html
00:01:16 verbose #1959 > 00:00:10 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 892
00:01:16 verbose #1960 > 00:00:10 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 892
00:01:16 verbose #1961 > 00:00:10 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/rust.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:16 verbose #1962 > 00:00:10 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:16 verbose #1963 > 00:00:10 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:16 verbose #1964 > 00:00:10 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 30824
00:01:16 debug #1965 execute_with_options_async / exit_code: 0 / output.Length: 34247
00:01:16 debug #4 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path rust.dib --retries 3
00:01:16 debug #1966 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path testing.dib --retries 3",
[||], None, None, true, None)
00:01:16 verbose #1967 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "testing.dib", "--retries", "3"])
00:01:16 verbose #1968 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:01:18 verbose #1969 > >
00:01:18 verbose #1970 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:18 verbose #1971 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:18 verbose #1972 > > │ # testing │
00:01:18 verbose #1973 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:18 verbose #1974 > >
00:01:18 verbose #1975 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:18 verbose #1976 > > inl __expect fn log name b a =
00:01:18 verbose #1977 > > inl result = fn a b
00:01:18 verbose #1978 > > inl result =
00:01:18 verbose #1979 > > result || join result
00:01:18 verbose #1980 > > if log |> not
00:01:18 verbose #1981 > > then "__expect"
00:01:18 verbose #1982 > > else
00:01:18 verbose #1983 > > inl text = $'$"{!name} / actual: %A{!a} / expected: %A{!b}"'
00:01:18 verbose #1984 > > text |> console.write_line
00:01:18 verbose #1985 > > text
00:01:18 verbose #1986 > > |> assert result
00:01:18 verbose #1987 > >
00:01:18 verbose #1988 > > inl __assert_approx_eq log e b a = __expect (fun a b => abs (b - a) < (e |>
00:01:18 verbose #1989 > > optionm.defaultWith 0.00000001)) log "assert_approx_eq" b a
00:01:18 verbose #1990 > > inl _assert_approx_eq e b a = __assert_approx_eq true e b a
00:01:18 verbose #1991 > >
00:01:18 verbose #1992 > > inl __assert_eq log b a = __expect (=) log "assert_eq" b a
00:01:18 verbose #1993 > > inl _assert_eq b a = __assert_eq true b a
00:01:18 verbose #1994 > >
00:01:18 verbose #1995 > > inl __assert_eq' log b a = __expect (=.) log "assert_eq'" b a
00:01:18 verbose #1996 > > inl _assert_eq' b a = __assert_eq' true b a
00:01:18 verbose #1997 > >
00:01:18 verbose #1998 > > inl __assert_ne log b a = __expect (<>.) log "assert_ne" b a
00:01:18 verbose #1999 > > inl _assert_ne b a = __assert_ne true b a
00:01:18 verbose #2000 > >
00:01:18 verbose #2001 > > inl __assert_gt log b a = __expect (>) log "assert_gt" b a
00:01:18 verbose #2002 > > inl _assert_gt b a = __assert_gt true b a
00:01:18 verbose #2003 > >
00:01:18 verbose #2004 > > inl __assert_ge log b a = __expect (>=) log "assert_ge" b a
00:01:18 verbose #2005 > > inl _assert_ge b a = __assert_ge true b a
00:01:18 verbose #2006 > >
00:01:18 verbose #2007 > > inl __assert_lt log b a = __expect (<) log "assert_lt" b a
00:01:18 verbose #2008 > > inl _assert_lt b a = __assert_lt true b a
00:01:18 verbose #2009 > >
00:01:18 verbose #2010 > > inl __assert_le log b a = __expect (<=) log "assert_le" b a
00:01:18 verbose #2011 > > inl _assert_le b a = __assert_le true b a
00:01:18 verbose #2012 > >
00:01:18 verbose #2013 > > inl __assert_contains forall t. log (b : t) a =
00:01:18 verbose #2014 > > __expect
00:01:18 verbose #2015 > > fun a b =>
00:01:18 verbose #2016 > > a
00:01:18 verbose #2017 > > |> $'List.ofSeq'
00:01:18 verbose #2018 > > |> fun x => x : listm'.list' t
00:01:18 verbose #2019 > > |> $'List.tryFind' ((=) b)
00:01:18 verbose #2020 > > |> optionm'.unbox
00:01:18 verbose #2021 > > |> fun (x : _ t) => x <> None
00:01:18 verbose #2022 > > log "assert_contains" b a
00:01:18 verbose #2023 > > inl _assert_contains b a = __assert_contains true b a
00:01:18 verbose #2024 > >
00:01:18 verbose #2025 > > inl __assert_string_contains log b a = __expect sm'.contains log
00:01:18 verbose #2026 > > "assert_string_contains" a b
00:01:18 verbose #2027 > > inl _assert_string_contains b a = __assert_string_contains true b a
00:01:18 verbose #2028 > >
00:01:18 verbose #2029 > > inl _throws (fn : () -> ()) : option exn =
00:01:18 verbose #2030 > > inl none = None : option exn
00:01:18 verbose #2031 > > inl some (s : exn) = Some s
00:01:18 verbose #2032 > > $"try !fn (); !none with ex -> ex |> !some"
00:01:18 verbose #2033 > >
00:01:18 verbose #2034 > > inl __assert_between log a b actual =
00:01:18 verbose #2035 > > inl assert_between actual (a, b) =
00:01:18 verbose #2036 > > __assert_ge false a actual
00:01:18 verbose #2037 > > __assert_le false b actual
00:01:18 verbose #2038 > > true
00:01:18 verbose #2039 > > __expect assert_between log "assert_between" (a, b) actual
00:01:18 verbose #2040 > > inl _assert_between a b actual = __assert_between true a b actual
00:01:18 verbose #2041 > >
00:01:18 verbose #2042 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:01:18 verbose #2043 > > #r
00:01:18 verbose #2044 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:18 verbose #2045 > > Net.Interactive.Spiral.dll"
00:01:18 verbose #2046 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:01:18 verbose #2047 > > #r
00:01:18 verbose #2048 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:18 verbose #2049 > > Net.Interactive.dll"
00:01:18 verbose #2050 > > open type Microsoft.DotNet.Interactive.Kernel
00:01:20 verbose #2051 > >
00:01:20 verbose #2052 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:01:20 verbose #2053 > > inl __expect fn log name b a =
00:01:20 verbose #2054 > > inl result = fn a b
00:01:20 verbose #2055 > > inl result =
00:01:20 verbose #2056 > > result || join result
00:01:20 verbose #2057 > > if log |> not
00:01:20 verbose #2058 > > then "__expect"
00:01:20 verbose #2059 > > else
00:01:20 verbose #2060 > > inl text = $'$"{!name} / actual: %A{!a} / expected: %A{!b}"'
00:01:20 verbose #2061 > > text |> console.write_line
00:01:20 verbose #2062 > > text
00:01:20 verbose #2063 > > |> assert result
00:01:20 verbose #2064 > >
00:01:20 verbose #2065 > > inl __assert_approx_eq log e b a = __expect (fun a b => abs (b - a) < (e |>
00:01:20 verbose #2066 > > optionm.defaultWith 0.00000001)) log "assert_approx_eq" b a
00:01:20 verbose #2067 > > inl _assert_approx_eq e b a = __assert_approx_eq true e b a
00:01:20 verbose #2068 > >
00:01:20 verbose #2069 > > inl __assert_eq log b a = __expect (=) log "assert_eq" b a
00:01:20 verbose #2070 > > inl _assert_eq b a = __assert_eq true b a
00:01:20 verbose #2071 > >
00:01:20 verbose #2072 > > inl __assert_eq' log b a = __expect (=.) log "assert_eq'" b a
00:01:20 verbose #2073 > > inl _assert_eq' b a = __assert_eq' true b a
00:01:20 verbose #2074 > >
00:01:20 verbose #2075 > > inl __assert_ne log b a = __expect (<>.) log "assert_ne" b a
00:01:20 verbose #2076 > > inl _assert_ne b a = __assert_ne true b a
00:01:20 verbose #2077 > >
00:01:20 verbose #2078 > > inl __assert_gt log b a = __expect (>) log "assert_gt" b a
00:01:20 verbose #2079 > > inl _assert_gt b a = __assert_gt true b a
00:01:20 verbose #2080 > >
00:01:20 verbose #2081 > > inl __assert_ge log b a = __expect (>=) log "assert_ge" b a
00:01:20 verbose #2082 > > inl _assert_ge b a = __assert_ge true b a
00:01:20 verbose #2083 > >
00:01:20 verbose #2084 > > inl __assert_lt log b a = __expect (<) log "assert_lt" b a
00:01:20 verbose #2085 > > inl _assert_lt b a = __assert_lt true b a
00:01:20 verbose #2086 > >
00:01:20 verbose #2087 > > inl __assert_le log b a = __expect (<=) log "assert_le" b a
00:01:20 verbose #2088 > > inl _assert_le b a = __assert_le true b a
00:01:20 verbose #2089 > >
00:01:20 verbose #2090 > > inl __assert_contains forall t. log (b : t) a =
00:01:20 verbose #2091 > > __expect
00:01:20 verbose #2092 > > fun a b =>
00:01:20 verbose #2093 > > a
00:01:20 verbose #2094 > > |> $'List.ofSeq'
00:01:20 verbose #2095 > > |> fun x => x : listm'.list' t
00:01:20 verbose #2096 > > |> $'List.tryFind' ((=) b)
00:01:20 verbose #2097 > > |> optionm'.unbox
00:01:20 verbose #2098 > > |> fun (x : _ t) => x <> None
00:01:20 verbose #2099 > > log "as...
00:01:21 verbose #2100 > 00:01:20 debug #149 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ecd450c5dbac18f928aa63848d9161f63a6b665e3ce9f22ed64aad5d18168bb3/main.spi
00:01:21 verbose #2101 > >
00:01:21 verbose #2102 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:21 verbose #2103 > > //// test
00:01:21 verbose #2104 > >
00:01:21 verbose #2105 > > 1f64
00:01:21 verbose #2106 > > |> _assert_approx_eq (Some 3) 2
00:01:21 verbose #2107 > 00:01:21 debug #150 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7b8857ffee85f968413cd9a0b8590cf45374317b587162b0dbe25be275f269d5/main.spi
00:01:21 verbose #2108 > >
00:01:21 verbose #2109 > > ╭─[ 463.71ms - stdout ]────────────────────────────────────────────────────────╮
00:01:21 verbose #2110 > > │ assert_approx_eq / actual: 1.0 / expected: 2.0 │
00:01:21 verbose #2111 > > │ │
00:01:21 verbose #2112 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:21 verbose #2113 > >
00:01:21 verbose #2114 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:21 verbose #2115 > > //// test
00:01:21 verbose #2116 > >
00:01:21 verbose #2117 > > "abcd"
00:01:21 verbose #2118 > > |> _assert_contains 'b'
00:01:21 verbose #2119 > 00:01:21 debug #151 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/60bb7dfc59fa30b82f6f2e9576fda7362f23ea6edbb81476b8504e0220bbf926/main.spi
00:01:22 verbose #2120 > >
00:01:22 verbose #2121 > > ╭─[ 508.75ms - stdout ]────────────────────────────────────────────────────────╮
00:01:22 verbose #2122 > > │ assert_contains / actual: "abcd" / expected: 'b' │
00:01:22 verbose #2123 > > │ │
00:01:22 verbose #2124 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:22 verbose #2125 > >
00:01:22 verbose #2126 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:22 verbose #2127 > > //// test
00:01:22 verbose #2128 > >
00:01:22 verbose #2129 > > (dyn 1f64)
00:01:22 verbose #2130 > > |> _assert_approx_eq (Some 3) 2
00:01:22 verbose #2131 > 00:01:22 debug #152 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1a4903005d5334a93c43cc97ec9371d374e5cadd52856ff44610481d92a5f3e9/main.spi
00:01:22 verbose #2132 > >
00:01:22 verbose #2133 > > ╭─[ 116.92ms - stdout ]────────────────────────────────────────────────────────╮
00:01:22 verbose #2134 > > │ assert_approx_eq / actual: 1.0 / expected: 2.0 │
00:01:22 verbose #2135 > > │ │
00:01:22 verbose #2136 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:22 verbose #2137 > >
00:01:22 verbose #2138 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:22 verbose #2139 > > inl print_and_return x =
00:01:22 verbose #2140 > > $"printfn $\"print_and_return / x: {!x}\""
00:01:22 verbose #2141 > > x
00:01:22 verbose #2142 > 00:01:22 debug #153 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ab51d401bed3b514ff61d5f4a8dedb8c9ead11706fc22fc66e45bc30ccf52ebd/main.spi
00:01:22 verbose #2143 > 00:00:05 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 6525
00:01:22 verbose #2144 > 00:00:05 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:23 verbose #2145 > 00:00:06 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb to html
00:01:23 verbose #2146 > 00:00:06 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:23 verbose #2147 > 00:00:06 verbose #7 ! validate(nb)
00:01:23 verbose #2148 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:23 verbose #2149 > 00:00:06 verbose #9 ! return _pygments_highlight(
00:01:23 verbose #2150 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 287013 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.html
00:01:23 verbose #2151 > 00:00:06 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 898
00:01:23 verbose #2152 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 898
00:01:23 verbose #2153 > 00:00:06 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:24 verbose #2154 > 00:00:07 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:24 verbose #2155 > 00:00:07 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:24 verbose #2156 > 00:00:07 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 7482
00:01:24 debug #2157 execute_with_options_async / exit_code: 0 / output.Length: 10222
00:01:24 debug #5 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path testing.dib --retries 3
00:01:24 debug #2158 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path guid.dib --retries 3",
[||], None, None, true, None)
00:01:24 verbose #2159 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "guid.dib", "--retries", "3"])
00:01:24 verbose #2160 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:01:25 verbose #2161 > >
00:01:25 verbose #2162 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:25 verbose #2163 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:25 verbose #2164 > > │ # guid │
00:01:25 verbose #2165 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:25 verbose #2166 > >
00:01:25 verbose #2167 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:25 verbose #2168 > > //// test
00:01:25 verbose #2169 > >
00:01:25 verbose #2170 > > open testing
00:01:25 verbose #2171 > >
00:01:25 verbose #2172 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:01:25 verbose #2173 > > #r
00:01:25 verbose #2174 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:25 verbose #2175 > > Net.Interactive.Spiral.dll"
00:01:25 verbose #2176 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:01:25 verbose #2177 > > #r
00:01:25 verbose #2178 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:25 verbose #2179 > > Net.Interactive.dll"
00:01:25 verbose #2180 > > open type Microsoft.DotNet.Interactive.Kernel
00:01:28 verbose #2181 > >
00:01:28 verbose #2182 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:28 verbose #2183 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:28 verbose #2184 > > │ ## guid │
00:01:28 verbose #2185 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:28 verbose #2186 > >
00:01:28 verbose #2187 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:28 verbose #2188 > > nominal guid = $"System.Guid"
00:01:28 verbose #2189 > 00:01:28 debug #154 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6517e313f9503154aa5ee7a1629fa86d736f6d5f48d1ab2d649f0853228ee90e/main.spi
00:01:28 verbose #2190 > >
00:01:28 verbose #2191 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:28 verbose #2192 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:28 verbose #2193 > > │ ## new_guid │
00:01:28 verbose #2194 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:28 verbose #2195 > >
00:01:28 verbose #2196 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:28 verbose #2197 > > inl new_guid (x : string) : guid =
00:01:28 verbose #2198 > > $'`guid !x '
00:01:28 verbose #2199 > 00:01:28 debug #155 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/29f3450430304d4686232eb9f6a7db75cad540e4dea309b81e3859e6a51b8995/main.spi
00:01:28 verbose #2200 > >
00:01:28 verbose #2201 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:28 verbose #2202 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:28 verbose #2203 > > │ ## new_raw_guid │
00:01:28 verbose #2204 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:28 verbose #2205 > >
00:01:28 verbose #2206 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:28 verbose #2207 > > inl new_raw_guid () : guid =
00:01:28 verbose #2208 > > $"System.Guid.NewGuid ()"
00:01:28 verbose #2209 > 00:01:28 debug #156 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4a1db006ce7d18213e978fc34ec76201410781eb117ccab4bd86ececfd23284d/main.spi
00:01:28 verbose #2210 > >
00:01:28 verbose #2211 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:28 verbose #2212 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:28 verbose #2213 > > │ ## main │
00:01:28 verbose #2214 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:28 verbose #2215 > >
00:01:28 verbose #2216 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:28 verbose #2217 > > inl main () =
00:01:28 verbose #2218 > > $"let new_guid x = !new_guid x" : ()
00:01:28 verbose #2219 > > $"let new_raw_guid x = !new_raw_guid x" : ()
00:01:28 verbose #2220 > 00:01:28 debug #157 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bf70fa5b494c629568737b717405f6fbbeddb998efc237cda7883e8b23fdf7bf/main.spi
00:01:29 verbose #2221 > 00:00:05 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 3176
00:01:29 verbose #2222 > 00:00:05 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:29 verbose #2223 > 00:00:05 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb to html
00:01:29 verbose #2224 > 00:00:05 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:29 verbose #2225 > 00:00:05 verbose #7 ! validate(nb)
00:01:30 verbose #2226 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:30 verbose #2227 > 00:00:06 verbose #9 ! return _pygments_highlight(
00:01:30 verbose #2228 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 276376 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.html
00:01:30 verbose #2229 > 00:00:06 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 892
00:01:30 verbose #2230 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 892
00:01:30 verbose #2231 > 00:00:06 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:30 verbose #2232 > 00:00:06 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:30 verbose #2233 > 00:00:06 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:30 verbose #2234 > 00:00:06 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 4127
00:01:30 debug #2235 execute_with_options_async / exit_code: 0 / output.Length: 6614
00:01:30 debug #6 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path guid.dib --retries 3
00:01:30 debug #2236 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path async.dib --retries 3",
[||], None, None, true, None)
00:01:30 verbose #2237 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "async.dib", "--retries", "3"])
00:01:30 verbose #2238 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:01:32 verbose #2239 > >
00:01:32 verbose #2240 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:32 verbose #2241 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:32 verbose #2242 > > │ # async │
00:01:32 verbose #2243 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:32 verbose #2244 > >
00:01:32 verbose #2245 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:32 verbose #2246 > > //// test
00:01:32 verbose #2247 > >
00:01:32 verbose #2248 > > open testing
00:01:32 verbose #2249 > >
00:01:32 verbose #2250 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:01:32 verbose #2251 > > #r
00:01:32 verbose #2252 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:32 verbose #2253 > > Net.Interactive.Spiral.dll"
00:01:32 verbose #2254 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:01:32 verbose #2255 > > #r
00:01:32 verbose #2256 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:32 verbose #2257 > > Net.Interactive.dll"
00:01:32 verbose #2258 > > open type Microsoft.DotNet.Interactive.Kernel
00:01:34 verbose #2259 > >
00:01:34 verbose #2260 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:34 verbose #2261 > > open rust_operators
00:01:34 verbose #2262 > >
00:01:34 verbose #2263 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:34 verbose #2264 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:34 verbose #2265 > > │ ## types │
00:01:34 verbose #2266 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:34 verbose #2267 > >
00:01:34 verbose #2268 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:34 verbose #2269 > > inl types () =
00:01:34 verbose #2270 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2271 > > Fable.Core.Emit(\"async_std::task::JoinHandle<$0>\")>]]\n#endif\ntype
00:01:34 verbose #2272 > > async_std_task_JoinHandle<'T> = class end"
00:01:34 verbose #2273 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2274 > > Fable.Core.Emit(\"std::future::Future<Output = $0>\")>]]\n#endif\ntype
00:01:34 verbose #2275 > > std_future_Future<'T> = class end"
00:01:34 verbose #2276 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2277 > > Fable.Core.Emit(\"rayon::vec::IntoIter<$0>\")>]]\n#endif\ntype
00:01:34 verbose #2278 > > rayon_vec_IntoIter<'T> = class end"
00:01:34 verbose #2279 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2280 > > Fable.Core.Emit(\"rayon::iter::Map<$0, _>\")>]]\n#endif\ntype rayon_iter_Map<'T>
00:01:34 verbose #2281 > > = class end"
00:01:34 verbose #2282 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2283 > > Fable.Core.Emit(\"futures_lite::stream::StreamExt\")>]]\n#endif\ntype
00:01:34 verbose #2284 > > futures_lite_stream_StreamExt = class end"
00:01:34 verbose #2285 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2286 > > Fable.Core.Emit(\"futures::future::TryJoinAll<$0>\")>]]\n#endif\ntype
00:01:34 verbose #2287 > > futures_future_TryJoinAll<'T> = class end"
00:01:34 verbose #2288 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2289 > > Fable.Core.Emit(\"futures::future::Fuse<$0>\")>]]\n#endif\ntype
00:01:34 verbose #2290 > > futures_future_Fuse<'T> = class end"
00:01:34 verbose #2291 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:34 verbose #2292 > > Fable.Core.Emit(\"futures::future::JoinAll<$0>\")>]]\n#endif\ntype
00:01:34 verbose #2293 > > futures_future_JoinAll<'T> = class end"
00:01:35 verbose #2294 > 00:01:34 debug #158 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0d84b5f4162239a58d6f51b9a20cd20736cb7d56ec99b3bbf5e3a9768cf12888/main.spi
00:01:35 verbose #2295 > >
00:01:35 verbose #2296 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2297 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2298 > > │ ## async │
00:01:35 verbose #2299 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2300 > >
00:01:35 verbose #2301 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2302 > > nominal async t = $"Async<`t>"
00:01:35 verbose #2303 > 00:01:34 debug #159 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2a9833e514fc35e3b3243904a625c94b89fd672412a2e1ca2941b9d04b4661ef/main.spi
00:01:35 verbose #2304 > >
00:01:35 verbose #2305 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2306 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2307 > > │ ## task │
00:01:35 verbose #2308 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2309 > >
00:01:35 verbose #2310 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2311 > > nominal task t =
00:01:35 verbose #2312 > > `(
00:01:35 verbose #2313 > > typecase t with
00:01:35 verbose #2314 > > | () => $'' : $"System.Threading.Tasks.Task"
00:01:35 verbose #2315 > > | _ => $'' : $"System.Threading.Tasks.Task<`t>"
00:01:35 verbose #2316 > > )
00:01:35 verbose #2317 > 00:01:34 debug #160 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7d8a139d7fb0c9d28cc318675cd4ebf5516b6f81bafbb670b0cf1632c1a2af7b/main.spi
00:01:35 verbose #2318 > >
00:01:35 verbose #2319 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2320 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2321 > > │ ## future │
00:01:35 verbose #2322 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2323 > >
00:01:35 verbose #2324 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2325 > > nominal future t = $"std_future_Future<`t>"
00:01:35 verbose #2326 > 00:01:34 debug #161 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6496c1d5c5a418bc1f020ba1164bc6ee3a511119e1bc3ce8e46bf3f0cea2b765/main.spi
00:01:35 verbose #2327 > >
00:01:35 verbose #2328 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2329 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2330 > > │ ## future_pin │
00:01:35 verbose #2331 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2332 > >
00:01:35 verbose #2333 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2334 > > type future_pin t = rust.pin (rust.box (rust.dyn' (future t)))
00:01:35 verbose #2335 > 00:01:34 debug #162 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/34049cfb08caf76be916c9f2b1b3eae35b20c7f9041c593e8d495c98d795038d/main.spi
00:01:35 verbose #2336 > >
00:01:35 verbose #2337 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2338 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2339 > > │ ## future_pin_send │
00:01:35 verbose #2340 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2341 > >
00:01:35 verbose #2342 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2343 > > type future_pin_send t = rust.pin (rust.box (rust.send (rust.dyn' (future t))))
00:01:35 verbose #2344 > 00:01:35 debug #163 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/03cbe2672846ba99f807b63b754d545dba3d54c75f080688e372a17f9e5937ad/main.spi
00:01:35 verbose #2345 > >
00:01:35 verbose #2346 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2347 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2348 > > │ ## block_on │
00:01:35 verbose #2349 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2350 > >
00:01:35 verbose #2351 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2352 > > inl block_on forall t. (fn : future_pin t) : t =
00:01:35 verbose #2353 > > !\\(fn, $'"futures_lite::future::block_on($0)"')
00:01:35 verbose #2354 > 00:01:35 debug #164 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a76e498212b4153fc04e72f826b20565f344ad896cda8048377afd032dd069e4/main.spi
00:01:35 verbose #2355 > >
00:01:35 verbose #2356 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2357 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2358 > > │ ## block_on_send │
00:01:35 verbose #2359 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2360 > >
00:01:35 verbose #2361 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2362 > > inl block_on_send forall t. (fn : future_pin_send t) : t =
00:01:35 verbose #2363 > > !\($'"futures_lite::future::block_on(!fn)"')
00:01:35 verbose #2364 > 00:01:35 debug #165 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7452c10b54fc86460a203272151c6b49663e191bbdad07893bd33a018f87617b/main.spi
00:01:35 verbose #2365 > >
00:01:35 verbose #2366 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2367 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2368 > > │ ## stream_ext │
00:01:35 verbose #2369 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2370 > >
00:01:35 verbose #2371 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2372 > > nominal stream_ext = $'futures_lite_stream_StreamExt'
00:01:35 verbose #2373 > 00:01:35 debug #166 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7d3c10ce7a4264a0f370d2bc3a549c0a2136ae876b422b41dbd72cbe55a6b755/main.spi
00:01:35 verbose #2374 > >
00:01:35 verbose #2375 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2376 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2377 > > │ ## join_handle │
00:01:35 verbose #2378 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2379 > >
00:01:35 verbose #2380 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2381 > > nominal join_handle t = $'async_std_task_JoinHandle<`t>'
00:01:35 verbose #2382 > 00:01:35 debug #167 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/00597f14f0b86b65989d7edbba5f6d3adc5e8b391201bf1426b7ab5fd4853991/main.spi
00:01:35 verbose #2383 > >
00:01:35 verbose #2384 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2385 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2386 > > │ ## spawn │
00:01:35 verbose #2387 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2388 > >
00:01:35 verbose #2389 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2390 > > inl spawn forall t. (fn : future_pin_send t) : join_handle t =
00:01:35 verbose #2391 > > !\($'"async_std::task::spawn(!fn)"')
00:01:35 verbose #2392 > 00:01:35 debug #168 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1af03ea0c7401f816eb1d7e23fff902e88d376d8b23b4264bf74f0e9bce6fad3/main.spi
00:01:35 verbose #2393 > >
00:01:35 verbose #2394 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:35 verbose #2395 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:35 verbose #2396 > > │ ## try_join_all │
00:01:35 verbose #2397 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:35 verbose #2398 > >
00:01:35 verbose #2399 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:35 verbose #2400 > > nominal try_join_all t = $"futures_future_TryJoinAll<`t>"
00:01:35 verbose #2401 > >
00:01:35 verbose #2402 > > inl try_join_all forall t. (x : am'.vec (future_pin (resultm.result' t
00:01:35 verbose #2403 > > sm'.std_string))) : try_join_all (future_pin (resultm.result' t sm'.std_string))
00:01:35 verbose #2404 > > =
00:01:35 verbose #2405 > > inl x = join x
00:01:35 verbose #2406 > > !\($'"futures::future::try_join_all(!x)"')
00:01:35 verbose #2407 > 00:01:35 debug #169 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6a2a8d3b307c99c15f1cc211f22e0d299fc892be8f9ebb98a820f1146ef547a0/main.spi
00:01:36 verbose #2408 > >
00:01:36 verbose #2409 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2410 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2411 > > │ ## fuse │
00:01:36 verbose #2412 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2413 > >
00:01:36 verbose #2414 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2415 > > nominal fuse t = $"futures_future_Fuse<`t>"
00:01:36 verbose #2416 > >
00:01:36 verbose #2417 > > inl future_fuse forall t. (x : future_pin t) : fuse (future_pin t) =
00:01:36 verbose #2418 > > !\($'"futures::future::FutureExt::fuse(!x)"')
00:01:36 verbose #2419 > 00:01:35 debug #170 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/317c1fee4825d359ef6056def2f7972d7e147e1751a43c5da3146136deb118d9/main.spi
00:01:36 verbose #2420 > >
00:01:36 verbose #2421 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2422 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2423 > > │ ## join_all │
00:01:36 verbose #2424 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2425 > >
00:01:36 verbose #2426 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2427 > > nominal join_all t = $"futures_future_JoinAll<`t>"
00:01:36 verbose #2428 > >
00:01:36 verbose #2429 > > inl join_all forall t. (x : am'.vec (future_pin t)) : join_all (future_pin t) =
00:01:36 verbose #2430 > > inl x = join x
00:01:36 verbose #2431 > > !\($'"futures::future::join_all(!x)"')
00:01:36 verbose #2432 > 00:01:35 debug #171 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/80ca16a8b73ba8a1d88ad23d1eec66a9c9e0a77eadf6799379de46edddd530e2/main.spi
00:01:36 verbose #2433 > >
00:01:36 verbose #2434 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2435 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2436 > > │ ## join_all_send │
00:01:36 verbose #2437 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2438 > >
00:01:36 verbose #2439 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2440 > > inl join_all_send forall t. (x : am'.vec (future_pin_send t)) : join_all
00:01:36 verbose #2441 > > (future_pin_send t) =
00:01:36 verbose #2442 > > inl x = join x
00:01:36 verbose #2443 > > !\($'"futures::future::join_all(!x)"')
00:01:36 verbose #2444 > 00:01:35 debug #172 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f17113c43cfacd7ff16f5e74042be82f59d60ac9ecf004e015f1d462caf1f62e/main.spi
00:01:36 verbose #2445 > >
00:01:36 verbose #2446 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2447 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2448 > > │ ## await_handle │
00:01:36 verbose #2449 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2450 > >
00:01:36 verbose #2451 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2452 > > inl await_handle forall t. (x : join_handle t) : t =
00:01:36 verbose #2453 > > !\($'"!x.await"')
00:01:36 verbose #2454 > 00:01:35 debug #173 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4c798752cf9324792ddacf42dc7d0d4339dc86df0ca39002670311946f1d6777/main.spi
00:01:36 verbose #2455 > >
00:01:36 verbose #2456 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2457 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2458 > > │ ## await_all │
00:01:36 verbose #2459 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2460 > >
00:01:36 verbose #2461 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2462 > > inl await_all forall t. (x : join_all (future_pin t)) : am'.vec t =
00:01:36 verbose #2463 > > !\($'"!x.await"')
00:01:36 verbose #2464 > 00:01:35 debug #174 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2d5c80902a8a6258f8a05f8ec21f7706ae338673819b7128c7a6d99df65be964/main.spi
00:01:36 verbose #2465 > >
00:01:36 verbose #2466 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2467 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2468 > > │ ## await_all_send │
00:01:36 verbose #2469 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2470 > >
00:01:36 verbose #2471 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2472 > > inl await_all_send forall t. (x : join_all (future_pin_send t)) : am'.vec t =
00:01:36 verbose #2473 > > !\($'"!x.await"')
00:01:36 verbose #2474 > 00:01:35 debug #175 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e86c885f734947601d3860441af2d6584ce9da5d379b93b417b68f11c3631775/main.spi
00:01:36 verbose #2475 > >
00:01:36 verbose #2476 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2477 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2478 > > │ ## try_await_all │
00:01:36 verbose #2479 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2480 > >
00:01:36 verbose #2481 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2482 > > inl try_await_all forall t. (x : try_join_all (future_pin (resultm.result' t
00:01:36 verbose #2483 > > sm'.std_string))) : resultm.result' (am'.vec t) sm'.std_string =
00:01:36 verbose #2484 > > !\($'"!x.await"')
00:01:36 verbose #2485 > 00:01:36 debug #176 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ebc5b0c22a580e8ec17fd5d70175005a6593a11e32911322ae816087ec5c576/main.spi
00:01:36 verbose #2486 > >
00:01:36 verbose #2487 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2488 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2489 > > │ ## try_await_all_send │
00:01:36 verbose #2490 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2491 > >
00:01:36 verbose #2492 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2493 > > inl try_await_all_send forall t. (x : try_join_all (future_pin_send
00:01:36 verbose #2494 > > (resultm.result' t sm'.std_string))) : resultm.result' (am'.vec t)
00:01:36 verbose #2495 > > sm'.std_string =
00:01:36 verbose #2496 > > !\($'"!x.await"')
00:01:36 verbose #2497 > 00:01:36 debug #177 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6f960319a7d1cf61b401b8d16434c56d824db821a16fff631c88697b38abc014/main.spi
00:01:36 verbose #2498 > >
00:01:36 verbose #2499 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2500 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2501 > > │ ## await │
00:01:36 verbose #2502 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2503 > >
00:01:36 verbose #2504 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2505 > > inl await forall t. (x : future_pin t) : t =
00:01:36 verbose #2506 > > !\($'"!x.await"')
00:01:36 verbose #2507 > 00:01:36 debug #178 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3fccb977f1a5b9427e1dba6c2e87fa818d444381db82fb227a87900dbb6f7df1/main.spi
00:01:36 verbose #2508 > >
00:01:36 verbose #2509 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2510 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2511 > > │ ## await │
00:01:36 verbose #2512 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2513 > >
00:01:36 verbose #2514 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2515 > > inl await_send forall t. (x : future_pin_send t) : t =
00:01:36 verbose #2516 > > !\($'"!x.await"')
00:01:36 verbose #2517 > 00:01:36 debug #179 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d9a55eb51dbe0f50d3ebeb09a03076e466fc123958e36512a0b3433046130a31/main.spi
00:01:36 verbose #2518 > >
00:01:36 verbose #2519 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2520 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2521 > > │ ## into_iter │
00:01:36 verbose #2522 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2523 > >
00:01:36 verbose #2524 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2525 > > nominal into_iter t = $'rayon_vec_IntoIter<`t>'
00:01:36 verbose #2526 > 00:01:36 debug #180 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7066317280f2659e17ea8e25c32f8a82e7052e7c536b7a3a52e0c4bdf8a54750/main.spi
00:01:36 verbose #2527 > >
00:01:36 verbose #2528 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2529 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2530 > > │ ## into_par_iter │
00:01:36 verbose #2531 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2532 > >
00:01:36 verbose #2533 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2534 > > inl into_par_iter forall t. (x : am'.vec t) : into_iter t =
00:01:36 verbose #2535 > > !\($'"rayon::iter::IntoParallelIterator::into_par_iter(!x)"')
00:01:36 verbose #2536 > 00:01:36 debug #181 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7daf53be61530fa2459948c5e2a0f8a161d92bd8070f38120e0572cc3a262928/main.spi
00:01:36 verbose #2537 > >
00:01:36 verbose #2538 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2539 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2540 > > │ ## par_iter │
00:01:36 verbose #2541 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2542 > >
00:01:36 verbose #2543 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2544 > > inl par_iter forall t. (x : am'.vec t) : into_iter t =
00:01:36 verbose #2545 > > !\($'"rayon::iter::IntoParallelIterator::par_iter(!x)"')
00:01:36 verbose #2546 > 00:01:36 debug #182 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d118b3c00c1b813bd0843a01a4917e63856d23bed455ad2be8069f2a417a728c/main.spi
00:01:36 verbose #2547 > >
00:01:36 verbose #2548 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:36 verbose #2549 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:36 verbose #2550 > > │ ## iter_map │
00:01:36 verbose #2551 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:36 verbose #2552 > >
00:01:36 verbose #2553 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:36 verbose #2554 > > nominal iter_map t u = $'rayon_iter_Map<`t>'
00:01:37 verbose #2555 > 00:01:36 debug #183 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fea05a5e874dbdbd859da356be6ba37c104b94510cab594ad7e4801a09114d0e/main.spi
00:01:37 verbose #2556 > >
00:01:37 verbose #2557 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:37 verbose #2558 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:37 verbose #2559 > > │ ## par_map │
00:01:37 verbose #2560 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:37 verbose #2561 > >
00:01:37 verbose #2562 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:37 verbose #2563 > > inl par_map forall t u. (fn : t -> u) (ar : into_iter t) : iter_map (into_iter
00:01:37 verbose #2564 > > t) u =
00:01:37 verbose #2565 > > !\\((ar, fn), $'"rayon::iter::ParallelIterator::map($0, |x| $1(x))"')
00:01:37 verbose #2566 > 00:01:36 debug #184 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bc4bf2f0a6ab875977ce3045b2c9cd804f59ad155c5568437c51c8c4b36d6394/main.spi
00:01:37 verbose #2567 > >
00:01:37 verbose #2568 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:37 verbose #2569 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:37 verbose #2570 > > │ ## par_collect │
00:01:37 verbose #2571 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:37 verbose #2572 > >
00:01:37 verbose #2573 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:37 verbose #2574 > > inl par_collect forall t u. (iter : iter_map (into_iter t) u) : am'.vec u =
00:01:37 verbose #2575 > > !\\(iter, $'"rayon::iter::ParallelIterator::collect($0)"')
00:01:37 verbose #2576 > 00:01:36 debug #185 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5cf5489cd235bdd574f61042db69815a397e7fa1aea58288455e709040c27e5b/main.spi
00:01:37 verbose #2577 > >
00:01:37 verbose #2578 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:37 verbose #2579 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:37 verbose #2580 > > │ ## try_join_all_iter │
00:01:37 verbose #2581 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:37 verbose #2582 > >
00:01:37 verbose #2583 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:37 verbose #2584 > > inl try_join_all_iter forall t. (x : am'.vec (future_pin_send (resultm.result' t
00:01:37 verbose #2585 > > sm'.std_string))) : try_join_all (future_pin_send (resultm.result' t
00:01:37 verbose #2586 > > sm'.std_string)) =
00:01:37 verbose #2587 > > inl x = join x
00:01:37 verbose #2588 > > !\($'"futures::future::try_join_all(!x)"')
00:01:37 verbose #2589 > 00:01:36 debug #186 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/91064a0ee513b01b91f675aef62bb16001c7fce0dc860bb694e6dd7490ddeeaf/main.spi
00:01:37 verbose #2590 > >
00:01:37 verbose #2591 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:37 verbose #2592 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:37 verbose #2593 > > │ ## new_future │
00:01:37 verbose #2594 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:37 verbose #2595 > >
00:01:37 verbose #2596 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:37 verbose #2597 > > inl new_future forall t. (x : () -> t) : future_pin t =
00:01:37 verbose #2598 > > join
00:01:37 verbose #2599 > > !\($'"{Box::pin(async { //"')
00:01:37 verbose #2600 > > x () |> fun x => join $'!x '
00:01:37 verbose #2601 > > !\($'"}}) //"')
00:01:37 verbose #2602 > 00:01:37 debug #187 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/550a2ebd57a980bc4c4283e8bb385dadc1bf13eefd7a3fb16257d050caa1934f/main.spi
00:01:37 verbose #2603 > >
00:01:37 verbose #2604 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:37 verbose #2605 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:37 verbose #2606 > > │ ## new_future_move │
00:01:37 verbose #2607 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:37 verbose #2608 > >
00:01:37 verbose #2609 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:37 verbose #2610 > > inl new_future_move forall t. (x : () -> t) : future_pin t =
00:01:37 verbose #2611 > > join
00:01:37 verbose #2612 > > !\($'"{Box::pin(async move { //"')
00:01:37 verbose #2613 > > x () |> fun x => join $'!x '
00:01:37 verbose #2614 > > !\($'"}}) //"')
00:01:37 verbose #2615 > 00:01:37 debug #188 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/98629e751e5be369f88e4453229db711152008b3701b2eb3309d9f1af6114f6a/main.spi
00:01:37 verbose #2616 > >
00:01:37 verbose #2617 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:37 verbose #2618 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:37 verbose #2619 > > │ ## future_init │
00:01:37 verbose #2620 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:37 verbose #2621 > >
00:01:37 verbose #2622 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:37 verbose #2623 > > inl future_init forall t. (depth : (u8 * u8)) (flag : u8) (x : () -> t) :
00:01:37 verbose #2624 > > future_pin t =
00:01:37 verbose #2625 > > // join
00:01:37 verbose #2626 > > // if flag = 1
00:01:37 verbose #2627 > > // then new_future_move x
00:01:37 verbose #2628 > > // else new_future x
00:01:37 verbose #2629 > > if flag = 1
00:01:37 verbose #2630 > > then !\($'"let __result = Box::pin(async move { //"')
00:01:37 verbose #2631 > > else !\($'"let __result = Box::pin(async { //"')
00:01:37 verbose #2632 > >
00:01:37 verbose #2633 > > let x' = x ()
00:01:37 verbose #2634 > > inl x' = join x'
00:01:37 verbose #2635 > >
00:01:37 verbose #2636 > > x' |> rust.fix_closure depth
00:01:37 verbose #2637 > >
00:01:37 verbose #2638 > > !\($'"__result"')
00:01:37 verbose #2639 > 00:01:37 debug #189 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/70b4d8c192d1e9852db8b3b077e73152ac41e2ae2db6c4a087aa36fd3bbe2677/main.spi
00:01:37 verbose #2640 > >
00:01:37 verbose #2641 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:37 verbose #2642 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:37 verbose #2643 > > │ ## future_init_send │
00:01:37 verbose #2644 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:37 verbose #2645 > >
00:01:37 verbose #2646 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:37 verbose #2647 > > inl future_init_send forall t. (depth : (u8 * u8)) (flag : u8) (x : () -> t) :
00:01:37 verbose #2648 > > future_pin_send t =
00:01:37 verbose #2649 > > // join
00:01:37 verbose #2650 > > // if flag = 1
00:01:37 verbose #2651 > > // then new_future_move x
00:01:37 verbose #2652 > > // else new_future x
00:01:37 verbose #2653 > > join
00:01:37 verbose #2654 > > if flag = 1
00:01:37 verbose #2655 > > then !\($'"let __result = Box::pin(async move { //"')
00:01:37 verbose #2656 > > else !\($'"let __result = Box::pin(async { //"')
00:01:37 verbose #2657 > >
00:01:37 verbose #2658 > > let x' = x ()
00:01:37 verbose #2659 > > inl x' = join x'
00:01:37 verbose #2660 > >
00:01:37 verbose #2661 > > x' |> rust.fix_closure depth
00:01:37 verbose #2662 > >
00:01:37 verbose #2663 > > !\($'"__result"')
00:01:37 verbose #2664 > 00:01:37 debug #190 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b680eb1cc226376efd3f031c92a27668fc9a26a56d67da7ab3c2f7ddaada90a9/main.spi
00:01:38 verbose #2665 > >
00:01:38 verbose #2666 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2667 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2668 > > │ ## new_future_move_init │
00:01:38 verbose #2669 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2670 > >
00:01:38 verbose #2671 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2672 > > inl new_future_move_init forall t. (depth : (u8 * u8)) (flag : u8) (x : () -> t)
00:01:38 verbose #2673 > > : future_pin t =
00:01:38 verbose #2674 > > future_init depth flag x
00:01:38 verbose #2675 > > // join
00:01:38 verbose #2676 > > // !\($'"{Box::pin(async move { //"')
00:01:38 verbose #2677 > > // inl x' = x () |> fun x => join $'!x '
00:01:38 verbose #2678 > >
00:01:38 verbose #2679 > > // inl depth = depth |> fst
00:01:38 verbose #2680 > > // if depth = 1
00:01:38 verbose #2681 > > // then !\($'"!x' })"')
00:01:38 verbose #2682 > > // elif depth = 2
00:01:38 verbose #2683 > > // then !\($'"!x' }})"')
00:01:38 verbose #2684 > > // elif depth = 3
00:01:38 verbose #2685 > > // then !\($'"!x' }}})"')
00:01:38 verbose #2686 > > // elif depth = 4
00:01:38 verbose #2687 > > // then !\($'"!x' }}}})"')
00:01:38 verbose #2688 > >
00:01:38 verbose #2689 > > // !\($'"// 1"')
00:01:38 verbose #2690 > 00:01:37 debug #191 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1ae2fe65cfd703d8e5f851b71b272c0e0f277e55cae593671e1a020fe46aee8a/main.spi
00:01:38 verbose #2691 > >
00:01:38 verbose #2692 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2693 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2694 > > │ ## new_async_unit │
00:01:38 verbose #2695 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2696 > >
00:01:38 verbose #2697 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2698 > > inl new_async_unit forall t. (fn : () -> ()) : async t =
00:01:38 verbose #2699 > > run_target function
00:01:38 verbose #2700 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2701 > > inl result : optionm'.option' (async t) = optionm'.none' ()
00:01:38 verbose #2702 > > $"let mutable _!result = !result"
00:01:38 verbose #2703 > > $"async {"
00:01:38 verbose #2704 > > fn ()
00:01:38 verbose #2705 > > $"}"
00:01:38 verbose #2706 > > $"|> fun x -> _!result <- Some x"
00:01:38 verbose #2707 > > $"_!result |> Option.get"
00:01:38 verbose #2708 > > | _ => fun () => null ()
00:01:38 verbose #2709 > 00:01:37 debug #192 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ccf9212a36e5a5562fde731a29520a56cd5e7366c9b201927253d27c1ac7b2fb/main.spi
00:01:38 verbose #2710 > >
00:01:38 verbose #2711 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2712 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2713 > > │ ## new_async │
00:01:38 verbose #2714 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2715 > >
00:01:38 verbose #2716 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2717 > > inl new_async forall t. (fn : () -> t) : async t =
00:01:38 verbose #2718 > > new_async_unit (fn >> ignore)
00:01:38 verbose #2719 > 00:01:37 debug #193 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0b9bdbac4bbb741174f730a3aa6dbe757d29f53afa304350631d163e8e95f116/main.spi
00:01:38 verbose #2720 > >
00:01:38 verbose #2721 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2722 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2723 > > │ ## new_task │
00:01:38 verbose #2724 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2725 > >
00:01:38 verbose #2726 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2727 > > inl new_task forall t. (fn : () -> t) : task t =
00:01:38 verbose #2728 > > run_target function
00:01:38 verbose #2729 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2730 > > inl result : optionm'.option' (task t) = optionm'.none' ()
00:01:38 verbose #2731 > > $"let mutable _!result = !result"
00:01:38 verbose #2732 > > $"task {"
00:01:38 verbose #2733 > > fn () |> ignore
00:01:38 verbose #2734 > > $"}"
00:01:38 verbose #2735 > > $"|> fun x -> _!result <- Some x"
00:01:38 verbose #2736 > > $"_!result |> Option.get"
00:01:38 verbose #2737 > > | _ => fun () => null ()
00:01:38 verbose #2738 > 00:01:37 debug #194 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/60e2374de5b2542710b9c6bc639e7bb987dc446546e4a50706d1634a487d8cfa/main.spi
00:01:38 verbose #2739 > >
00:01:38 verbose #2740 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2741 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2742 > > │ ## await_task │
00:01:38 verbose #2743 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2744 > >
00:01:38 verbose #2745 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2746 > > inl await_task forall t. (a : task t) : async t =
00:01:38 verbose #2747 > > run_target function
00:01:38 verbose #2748 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2749 > > a |> $'Async.AwaitTask'
00:01:38 verbose #2750 > > | _ => fun () => null ()
00:01:38 verbose #2751 > 00:01:37 debug #195 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fc0d11b477c1ffa6ae0afc89fd9346fc4dc73e9d5d8994479807d86019de5a3f/main.spi
00:01:38 verbose #2752 > >
00:01:38 verbose #2753 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2754 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2755 > > │ ## ignore │
00:01:38 verbose #2756 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2757 > >
00:01:38 verbose #2758 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2759 > > inl ignore forall t. (a : async t) : async () =
00:01:38 verbose #2760 > > run_target function
00:01:38 verbose #2761 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2762 > > a |> $'Async.Ignore'
00:01:38 verbose #2763 > > | _ => fun () => null ()
00:01:38 verbose #2764 > 00:01:38 debug #196 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b12ed9028c437966b0165e17224f3b66311e9466e6934198cdf418420d58ad87/main.spi
00:01:38 verbose #2765 > >
00:01:38 verbose #2766 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2767 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2768 > > │ ## run_synchronously │
00:01:38 verbose #2769 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2770 > >
00:01:38 verbose #2771 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2772 > > inl run_synchronously forall t. (a : async t) : t =
00:01:38 verbose #2773 > > run_target function
00:01:38 verbose #2774 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2775 > > a |> $'Async.RunSynchronously'
00:01:38 verbose #2776 > > | _ => fun () => null ()
00:01:38 verbose #2777 > 00:01:38 debug #197 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/34c6ad54debfe3ea7118e1bc9e08acd470f69b3d0cf99bb4b245aaef8c9636f1/main.spi
00:01:38 verbose #2778 > >
00:01:38 verbose #2779 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2780 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2781 > > │ ## start │
00:01:38 verbose #2782 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2783 > >
00:01:38 verbose #2784 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2785 > > inl start (a : async ()) : () =
00:01:38 verbose #2786 > > run_target function
00:01:38 verbose #2787 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2788 > > a |> $'Async.Start'
00:01:38 verbose #2789 > > | _ => fun () => null ()
00:01:38 verbose #2790 > 00:01:38 debug #198 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b8b9090f2ac3bcab9ac458b9f8a0c9a419fdf0acb2ce286e438f6bc81c904fab/main.spi
00:01:38 verbose #2791 > >
00:01:38 verbose #2792 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2793 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2794 > > │ ## start_child │
00:01:38 verbose #2795 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2796 > >
00:01:38 verbose #2797 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2798 > > inl start_child forall t. (a : async t) : async (async t) =
00:01:38 verbose #2799 > > run_target function
00:01:38 verbose #2800 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2801 > > a |> $'Async.StartChild'
00:01:38 verbose #2802 > > | _ => fun () => null ()
00:01:38 verbose #2803 > 00:01:38 debug #199 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c0f89ca1c9364fb9e14005cbcfdc7b68f6ce78ad7ffe794226b9bf204dd85a2c/main.spi
00:01:38 verbose #2804 > >
00:01:38 verbose #2805 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2806 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2807 > > │ ## start_child_timeout │
00:01:38 verbose #2808 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2809 > >
00:01:38 verbose #2810 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2811 > > inl start_child_timeout forall t. (timeout : i32) (a : async t) : async (async
00:01:38 verbose #2812 > > t) =
00:01:38 verbose #2813 > > run_target function
00:01:38 verbose #2814 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2815 > > $'Async.StartChild (!a, !timeout)'
00:01:38 verbose #2816 > > | _ => fun () => null ()
00:01:38 verbose #2817 > 00:01:38 debug #200 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/21cef90c6f27f20f655839f8480d104e34119f852da69b5540a7e611f08b2f7c/main.spi
00:01:38 verbose #2818 > >
00:01:38 verbose #2819 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2820 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2821 > > │ ## start_immediate │
00:01:38 verbose #2822 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2823 > >
00:01:38 verbose #2824 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2825 > > inl start_immediate forall t. (a : async t) : () =
00:01:38 verbose #2826 > > run_target function
00:01:38 verbose #2827 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2828 > > a |> $'Async.StartImmediate'
00:01:38 verbose #2829 > > | _ => fun () => null ()
00:01:38 verbose #2830 > 00:01:38 debug #201 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e6b0b916da35e62ba58b423c496ee858688f1ad06d7e481a37bb6ca9eb60ab5f/main.spi
00:01:38 verbose #2831 > >
00:01:38 verbose #2832 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2833 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2834 > > │ ## task_canceled_exception │
00:01:38 verbose #2835 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2836 > >
00:01:38 verbose #2837 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2838 > > nominal task_canceled_exception =
00:01:38 verbose #2839 > > $'System.Threading.Tasks.TaskCanceledException'
00:01:38 verbose #2840 > 00:01:38 debug #202 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d840f3389d6578ee89faafa46dd652413f78602b109511de734de3332554e23c/main.spi
00:01:38 verbose #2841 > >
00:01:38 verbose #2842 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:38 verbose #2843 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:38 verbose #2844 > > │ ## sleep │
00:01:38 verbose #2845 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:38 verbose #2846 > >
00:01:38 verbose #2847 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:38 verbose #2848 > > inl sleep (ms : i32) : async () =
00:01:38 verbose #2849 > > run_target function
00:01:38 verbose #2850 > > | Fsharp (Native) => fun () =>
00:01:38 verbose #2851 > > ms |> $'Async.Sleep'
00:01:38 verbose #2852 > > | _ => fun () => null ()
00:01:38 verbose #2853 > 00:01:38 debug #203 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f16f38920abaa94a2be66b842a988d8865de9c70963e06a4bff94f5a16706458/main.spi
00:01:39 verbose #2854 > >
00:01:39 verbose #2855 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2856 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2857 > > │ ## do │
00:01:39 verbose #2858 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2859 > >
00:01:39 verbose #2860 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2861 > > inl do (a : async ()) : () =
00:01:39 verbose #2862 > > $'do\! !a '
00:01:39 verbose #2863 > 00:01:38 debug #204 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5a25ae1f01297ff3abd6c2a5f749ee09f3c2731929e48ccc0e9d55b9597355f0/main.spi
00:01:39 verbose #2864 > >
00:01:39 verbose #2865 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2866 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2867 > > │ ## let' │
00:01:39 verbose #2868 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2869 > >
00:01:39 verbose #2870 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2871 > > inl let' forall t. (a : async t) : t =
00:01:39 verbose #2872 > > $'let\! !a = !a '
00:01:39 verbose #2873 > > $'!a '
00:01:39 verbose #2874 > 00:01:38 debug #205 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/36ee8863d4840f33e1ad15366a6c00f28b701f27886c3eb43e1215917320528d/main.spi
00:01:39 verbose #2875 > >
00:01:39 verbose #2876 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2877 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2878 > > │ ## return_await │
00:01:39 verbose #2879 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2880 > >
00:01:39 verbose #2881 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2882 > > inl return_await forall t. (a : async t) : () =
00:01:39 verbose #2883 > > $'return\! !a '
00:01:39 verbose #2884 > 00:01:38 debug #206 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4e2180be55464a2c2e4a3ff5e0be2bde3ad94353c5ba92ef114f83edcf447373/main.spi
00:01:39 verbose #2885 > >
00:01:39 verbose #2886 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2887 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2888 > > │ ## return_await' │
00:01:39 verbose #2889 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2890 > >
00:01:39 verbose #2891 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2892 > > inl return_await' forall t. (a : async t) : t =
00:01:39 verbose #2893 > > $'return\! !a '
00:01:39 verbose #2894 > 00:01:38 debug #207 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/beeaf674cc6cc5348e0d322e6cb4d813c62ec8a95dfe48b5bbdbb0106feb791e/main.spi
00:01:39 verbose #2895 > >
00:01:39 verbose #2896 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2897 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2898 > > │ ## map │
00:01:39 verbose #2899 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2900 > >
00:01:39 verbose #2901 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2902 > > inl map forall t u. (fn : t -> u) (a : async t) : async u =
00:01:39 verbose #2903 > > fun () =>
00:01:39 verbose #2904 > > inl x = a |> let'
00:01:39 verbose #2905 > > fn x |> return
00:01:39 verbose #2906 > > |> new_async_unit
00:01:39 verbose #2907 > 00:01:38 debug #208 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2574c6af8f24181bb695e91494b192f75b5f2f54c5298a645cfe0b349d40c052/main.spi
00:01:39 verbose #2908 > >
00:01:39 verbose #2909 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2910 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2911 > > │ ## choice │
00:01:39 verbose #2912 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2913 > >
00:01:39 verbose #2914 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2915 > > union choice t1 t2 =
00:01:39 verbose #2916 > > | Choice1Of2 : t1
00:01:39 verbose #2917 > > | Choice2Of2 : t2
00:01:39 verbose #2918 > >
00:01:39 verbose #2919 > > nominal choice' t1 t2 = $'Choice<`t1, `t2>'
00:01:39 verbose #2920 > 00:01:39 debug #209 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/088a688ac698b64ae0f743cd3df2b892a26e4b44ce9a5cc9c614b9b6c30caae3/main.spi
00:01:39 verbose #2921 > >
00:01:39 verbose #2922 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2923 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2924 > > │ ## choice_unbox │
00:01:39 verbose #2925 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2926 > >
00:01:39 verbose #2927 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2928 > > inl choice_unbox forall t1 t2. (choice : choice' t1 t2) : choice t1 t2 =
00:01:39 verbose #2929 > > run_target function
00:01:39 verbose #2930 > > | Fsharp (Native) => fun () =>
00:01:39 verbose #2931 > > inl choice1Of2 (x : t1) : _ _ t2 = Choice1Of2 x
00:01:39 verbose #2932 > > inl choice2Of2 (x : t2) : _ t1 _ = Choice2Of2 x
00:01:39 verbose #2933 > > $'match !choice with Choice1Of2 x -> !choice1Of2 x | Choice2Of2 x ->
00:01:39 verbose #2934 > > !choice2Of2 x'
00:01:39 verbose #2935 > > | _ => fun () => null ()
00:01:39 verbose #2936 > 00:01:39 debug #210 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c7d9b6fc11fc8bf6220fb5272db3cd6b2c4f4e84a93c336f55b2c5debf1ea149/main.spi
00:01:39 verbose #2937 > >
00:01:39 verbose #2938 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2939 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2940 > > │ ## catch' │
00:01:39 verbose #2941 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2942 > >
00:01:39 verbose #2943 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2944 > > inl catch' forall t e. (a : async t) : async (choice' t e) =
00:01:39 verbose #2945 > > run_target function
00:01:39 verbose #2946 > > | Fsharp (Native) => fun () =>
00:01:39 verbose #2947 > > a |> $'Async.Catch'
00:01:39 verbose #2948 > > | _ => fun () => null ()
00:01:39 verbose #2949 > 00:01:39 debug #211 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/832e0e716d141c5566c47f0ac57f0ad3f1fab57241ee205d68ddb5a72c96fa01/main.spi
00:01:39 verbose #2950 > >
00:01:39 verbose #2951 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2952 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2953 > > │ ## catch │
00:01:39 verbose #2954 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2955 > >
00:01:39 verbose #2956 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2957 > > inl catch forall t e. (a : async t) : async (result t e) =
00:01:39 verbose #2958 > > a
00:01:39 verbose #2959 > > |> catch'
00:01:39 verbose #2960 > > |> map choice_unbox
00:01:39 verbose #2961 > > |> map function
00:01:39 verbose #2962 > > | Choice1Of2 result => Ok result
00:01:39 verbose #2963 > > | Choice2Of2 ex => Error ex
00:01:39 verbose #2964 > 00:01:39 debug #212 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dab5d682fa6446f358af72561bd38028e7bfcae9bf419878798bdc361a98c312/main.spi
00:01:39 verbose #2965 > >
00:01:39 verbose #2966 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2967 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #2968 > > │ ## run_with_timeout_async │
00:01:39 verbose #2969 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #2970 > >
00:01:39 verbose #2971 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #2972 > > inl run_with_timeout_async forall t. (timeout : i32) (fn : async t) : async
00:01:39 verbose #2973 > > (option t) =
00:01:39 verbose #2974 > > run_target function
00:01:39 verbose #2975 > > | Fsharp (Native) => fun () =>
00:01:39 verbose #2976 > > fun () =>
00:01:39 verbose #2977 > > inl _locals () = $'$"timeout: {!timeout} / {!_locals ()}"'
00:01:39 verbose #2978 > > inl child = fn |> start_child_timeout timeout |> let'
00:01:39 verbose #2979 > > child
00:01:39 verbose #2980 > > |> catch
00:01:39 verbose #2981 > > |> map function
00:01:39 verbose #2982 > > | Ok result => Some result
00:01:39 verbose #2983 > > | Error ex when ex |> sm'.format_debug |> sm'.contains
00:01:39 verbose #2984 > > "System.TimeoutException" =>
00:01:39 verbose #2985 > > trace Debug (fun () => $'"run_with_timeout_async"')
00:01:39 verbose #2986 > > _locals
00:01:39 verbose #2987 > > None
00:01:39 verbose #2988 > > | Error (ex : exn) =>
00:01:39 verbose #2989 > > inl ex = ex |> sm'.format_exception
00:01:39 verbose #2990 > > trace Critical (fun () => $'$"run_with_timeout_async**
00:01:39 verbose #2991 > > ex: {!ex}"') _locals
00:01:39 verbose #2992 > > None
00:01:39 verbose #2993 > > |> return_await
00:01:39 verbose #2994 > > |> new_async_unit
00:01:39 verbose #2995 > > | _ => fun () => null ()
00:01:39 verbose #2996 > 00:01:39 debug #213 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/051c587f0ae545dd651d819b103d8896b3085687c25ffa00826bc66dbc16077b/main.spi
00:01:39 verbose #2997 > >
00:01:39 verbose #2998 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #2999 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #3000 > > │ ## run_with_timeout │
00:01:39 verbose #3001 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #3002 > >
00:01:39 verbose #3003 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #3004 > > inl run_with_timeout timeout fn =
00:01:39 verbose #3005 > > fn
00:01:39 verbose #3006 > > |> run_with_timeout_async timeout
00:01:39 verbose #3007 > > |> run_synchronously
00:01:39 verbose #3008 > 00:01:39 debug #214 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d7b5ef48cc4d43d0dfee815868e77c990f4c4b7493885d10245e6c43aad375fb/main.spi
00:01:39 verbose #3009 > >
00:01:39 verbose #3010 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:39 verbose #3011 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:39 verbose #3012 > > │ ## cancellation_token │
00:01:39 verbose #3013 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:39 verbose #3014 > >
00:01:39 verbose #3015 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:39 verbose #3016 > > inl cancellation_token () : async threading.cancellation_token =
00:01:39 verbose #3017 > > $'Async.CancellationToken'
00:01:39 verbose #3018 > 00:01:39 debug #215 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5ccf7a10286da548bef3994baaa8a109dd2858720b942ef9f6dff2d1d82dc2d2/main.spi
00:01:40 verbose #3019 > >
00:01:40 verbose #3020 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:40 verbose #3021 > > inl default_cancellation_token () : threading.cancellation_token =
00:01:40 verbose #3022 > > $'Async.DefaultCancellationToken'
00:01:40 verbose #3023 > 00:01:39 debug #216 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bf5090094a7bc7b5fe5d82384c98a13750dc971e9ff53ff66a9411617b47c522/main.spi
00:01:40 verbose #3024 > >
00:01:40 verbose #3025 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:40 verbose #3026 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:40 verbose #3027 > > │ ## merge_cancellation_token_with_default_async │
00:01:40 verbose #3028 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:40 verbose #3029 > >
00:01:40 verbose #3030 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:40 verbose #3031 > > inl merge_cancellation_token_with_default_async
00:01:40 verbose #3032 > > (token : threading.cancellation_token)
00:01:40 verbose #3033 > > : async threading.cancellation_token
00:01:40 verbose #3034 > > =
00:01:40 verbose #3035 > > run_target function
00:01:40 verbose #3036 > > | Fsharp (Native) => fun () =>
00:01:40 verbose #3037 > > fun () =>
00:01:40 verbose #3038 > > inl ct = cancellation_token () |> let'
00:01:40 verbose #3039 > > inl dct = default_cancellation_token ()
00:01:40 verbose #3040 > > inl cts = threading.create_linked_token_source ;[[ ct; dct;
00:01:40 verbose #3041 > > token ]]
00:01:40 verbose #3042 > > cts |> threading.cancellation_source_token |> return
00:01:40 verbose #3043 > > |> new_async_unit
00:01:40 verbose #3044 > > | _ => fun () => null ()
00:01:40 verbose #3045 > 00:01:39 debug #217 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/19b7842cd040d8b9fdb830764f392a6fced321068414167b4443fdf8b62bda55/main.spi
00:01:40 verbose #3046 > >
00:01:40 verbose #3047 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:40 verbose #3048 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:40 verbose #3049 > > │ ## with_trace_level │
00:01:40 verbose #3050 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:40 verbose #3051 > >
00:01:40 verbose #3052 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:40 verbose #3053 > > inl with_trace_level forall t. level fn : _ t = new_async fun () =>
00:01:40 verbose #3054 > > inl trace_state = get_trace_state_or_init None
00:01:40 verbose #3055 > > inl old_trace_level = *trace_state.level
00:01:40 verbose #3056 > > inl trace_level = trace_state.level
00:01:40 verbose #3057 > > try_finally
00:01:40 verbose #3058 > > fun () =>
00:01:40 verbose #3059 > > trace_level <- level
00:01:40 verbose #3060 > > fn |> return_await
00:01:40 verbose #3061 > > fun () =>
00:01:40 verbose #3062 > > trace_level <- old_trace_level
00:01:40 verbose #3063 > 00:01:39 debug #218 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cab3196f2cd5fe593b68a6d7c2af8fc1c87320542e693de5133a26cced00cbb1/main.spi
00:01:40 verbose #3064 > >
00:01:40 verbose #3065 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:40 verbose #3066 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:40 verbose #3067 > > │ ## value_task │
00:01:40 verbose #3068 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:40 verbose #3069 > >
00:01:40 verbose #3070 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:40 verbose #3071 > > nominal value_task = $'System.Threading.Tasks.ValueTask'
00:01:40 verbose #3072 > 00:01:39 debug #219 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1392ad9d013abbeb0130c8146389e3e8a0d616549158cac534036535020ea826/main.spi
00:01:40 verbose #3073 > >
00:01:40 verbose #3074 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:40 verbose #3075 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:40 verbose #3076 > > │ ## value_task_as_task │
00:01:40 verbose #3077 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:40 verbose #3078 > >
00:01:40 verbose #3079 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:40 verbose #3080 > > inl value_task_as_task (task : value_task) : task () =
00:01:40 verbose #3081 > > $'!task.AsTask' ()
00:01:40 verbose #3082 > 00:01:39 debug #220 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9d879689bad7bc616e2918f1445422e0bd287006c16f1998d7a5ec19e31c881d/main.spi
00:01:40 verbose #3083 > >
00:01:40 verbose #3084 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:40 verbose #3085 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:40 verbose #3086 > > │ ## await_value_task_unit │
00:01:40 verbose #3087 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:40 verbose #3088 > >
00:01:40 verbose #3089 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:40 verbose #3090 > > inl await_value_task_unit (task : value_task) : async () =
00:01:40 verbose #3091 > > task |> value_task_as_task |> await_task
00:01:40 verbose #3092 > 00:01:40 debug #221 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/01038d5dc70a0669ce746128aa56feaa9c20a00187385bf7cd038b803f9c83d1/main.spi
00:01:40 verbose #3093 > >
00:01:40 verbose #3094 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:40 verbose #3095 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:40 verbose #3096 > > │ ## main │
00:01:40 verbose #3097 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:40 verbose #3098 > >
00:01:40 verbose #3099 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:40 verbose #3100 > > inl main () =
00:01:40 verbose #3101 > > types ()
00:01:40 verbose #3102 > > $"let merge_cancellation_token_with_default_async x =
00:01:40 verbose #3103 > > !merge_cancellation_token_with_default_async x" : ()
00:01:40 verbose #3104 > 00:01:40 debug #222 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e4ccbc661f018cddaf4b2ecf929a41ecb4f5d36790a344fe4075801657ec9d29/main.spi
00:01:41 verbose #3105 > 00:00:10 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 45626
00:01:41 verbose #3106 > 00:00:10 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:01:42 verbose #3107 > 00:00:11 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb to html
00:01:42 verbose #3108 > 00:00:11 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:01:42 verbose #3109 > 00:00:11 verbose #7 ! validate(nb)
00:01:42 verbose #3110 > 00:00:11 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:01:42 verbose #3111 > 00:00:11 verbose #9 ! return _pygments_highlight(
00:01:42 verbose #3112 > 00:00:12 verbose #10 ! [NbConvertApp] Writing 399588 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/async.dib.html
00:01:43 verbose #3113 > 00:00:12 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 894
00:01:43 verbose #3114 > 00:00:12 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 894
00:01:43 verbose #3115 > 00:00:12 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:01:43 verbose #3116 > 00:00:12 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:01:43 verbose #3117 > 00:00:12 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:01:43 verbose #3118 > 00:00:12 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 46579
00:01:43 debug #3119 execute_with_options_async / exit_code: 0 / output.Length: 50567
00:01:43 debug #7 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path async.dib --retries 3
00:01:43 debug #3120 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path runtime.dib --retries 3",
[||], None, None, true, None)
00:01:43 verbose #3121 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "runtime.dib", "--retries", "3"])
00:01:43 verbose #3122 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:01:44 verbose #3123 > >
00:01:44 verbose #3124 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:44 verbose #3125 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:44 verbose #3126 > > │ # runtime │
00:01:44 verbose #3127 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:44 verbose #3128 > >
00:01:44 verbose #3129 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:44 verbose #3130 > > open rust_operators
00:01:44 verbose #3131 > > open sm'_operators
00:01:44 verbose #3132 > >
00:01:44 verbose #3133 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:01:44 verbose #3134 > > #r
00:01:44 verbose #3135 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:44 verbose #3136 > > Net.Interactive.Spiral.dll"
00:01:44 verbose #3137 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:01:44 verbose #3138 > > #r
00:01:44 verbose #3139 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:01:44 verbose #3140 > > Net.Interactive.dll"
00:01:44 verbose #3141 > > open type Microsoft.DotNet.Interactive.Kernel
00:01:47 verbose #3142 > 00:01:47 debug #223 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/032c8b088372ab832664d98a64dd782e20000598cb6f954fca120c7fcc91e0cc/main.spi
00:01:47 verbose #3143 > >
00:01:47 verbose #3144 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:47 verbose #3145 > > //// test
00:01:47 verbose #3146 > >
00:01:47 verbose #3147 > > open testing
00:01:47 verbose #3148 > > open file_system_operators
00:01:47 verbose #3149 > 00:01:47 debug #224 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eafe7730a2263ffc5224c3e36abb2c8e9d48d4cf17ad4961423cc9e7b76a086f/main.spi
00:01:47 verbose #3150 > >
00:01:47 verbose #3151 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:47 verbose #3152 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:47 verbose #3153 > > │ ## types │
00:01:47 verbose #3154 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:47 verbose #3155 > >
00:01:47 verbose #3156 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:47 verbose #3157 > > inl types () =
00:01:47 verbose #3158 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3159 > > Fable.Core.Emit(\"clap::Arg\")>]]\n#endif\ntype clap_Arg = class end"
00:01:47 verbose #3160 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3161 > > Fable.Core.Emit(\"clap::ArgAction\")>]]\n#endif\ntype clap_ArgAction = class
00:01:47 verbose #3162 > > end"
00:01:47 verbose #3163 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3164 > > Fable.Core.Emit(\"clap::Command\")>]]\n#endif\ntype clap_Command = class end"
00:01:47 verbose #3165 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3166 > > Fable.Core.Emit(\"clap::ArgMatches\")>]]\n#endif\ntype clap_ArgMatches = class
00:01:47 verbose #3167 > > end"
00:01:47 verbose #3168 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3169 > > Fable.Core.Emit(\"clap::builder::ValueRange\")>]]\n#endif\ntype
00:01:47 verbose #3170 > > clap_builder_ValueRange = class end"
00:01:47 verbose #3171 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3172 > > Fable.Core.Emit(\"clap::builder::ValueParser\")>]]\n#endif\ntype
00:01:47 verbose #3173 > > clap_builder_ValueParser = class end"
00:01:47 verbose #3174 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3175 > > Fable.Core.Emit(\"clap::builder::PossibleValue\")>]]\n#endif\ntype
00:01:47 verbose #3176 > > clap_builder_PossibleValue = class end"
00:01:47 verbose #3177 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3178 > > Fable.Core.Emit(\"std::process::Child\")>]]\n#endif\ntype std_process_Child =
00:01:47 verbose #3179 > > class end"
00:01:47 verbose #3180 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3181 > > Fable.Core.Emit(\"std::process::ChildStderr\")>]]\n#endif\ntype
00:01:47 verbose #3182 > > std_process_ChildStderr = class end"
00:01:47 verbose #3183 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3184 > > Fable.Core.Emit(\"std::process::ChildStdout\")>]]\n#endif\ntype
00:01:47 verbose #3185 > > std_process_ChildStdout = class end"
00:01:47 verbose #3186 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3187 > > Fable.Core.Emit(\"std::process::ChildStdin\")>]]\n#endif\ntype
00:01:47 verbose #3188 > > std_process_ChildStdin = class end"
00:01:47 verbose #3189 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3190 > > Fable.Core.Emit(\"std::process::Command\")>]]\n#endif\ntype std_process_Command
00:01:47 verbose #3191 > > = class end"
00:01:47 verbose #3192 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3193 > > Fable.Core.Emit(\"std::process::ExitStatus\")>]]\n#endif\ntype
00:01:47 verbose #3194 > > std_process_ExitStatus = class end"
00:01:47 verbose #3195 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3196 > > Fable.Core.Emit(\"std::process::Output\")>]]\n#endif\ntype std_process_Output =
00:01:47 verbose #3197 > > class end"
00:01:47 verbose #3198 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:01:47 verbose #3199 > > Fable.Core.Emit(\"std::process::Stdio\")>]]\n#endif\ntype std_process_Stdio =
00:01:47 verbose #3200 > > class end"
00:01:47 verbose #3201 > 00:01:47 debug #225 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2bd475fee7577ea158d4442efae432b140c2a47fdf78f48d0c6c7fac7dba3b62/main.spi
00:01:47 verbose #3202 > >
00:01:47 verbose #3203 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:47 verbose #3204 > > inl types () =
00:01:47 verbose #3205 > > types ()
00:01:47 verbose #3206 > > am'.types ()
00:01:47 verbose #3207 > > async.types ()
00:01:47 verbose #3208 > > env.types ()
00:01:47 verbose #3209 > > rust.types ()
00:01:47 verbose #3210 > > seq.types ()
00:01:47 verbose #3211 > > sm'.types ()
00:01:47 verbose #3212 > > threading.types ()
00:01:48 verbose #3213 > 00:01:47 debug #226 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/21297b864a1d3a1ec9a3323416bfb4608e0effa583f77832db91815d2aaa4b42/main.spi
00:01:48 verbose #3214 > >
00:01:48 verbose #3215 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3216 > > //// test
00:01:48 verbose #3217 > >
00:01:48 verbose #3218 > > inl types () =
00:01:48 verbose #3219 > > file_system.types ()
00:01:48 verbose #3220 > > types ()
00:01:48 verbose #3221 > 00:01:47 debug #227 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ba38047fd02b2d2d600326d008ad27396f9fbd661e69118b3682ea162feb34cd/main.spi
00:01:48 verbose #3222 > >
00:01:48 verbose #3223 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3224 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3225 > > │ ## process_child │
00:01:48 verbose #3226 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3227 > >
00:01:48 verbose #3228 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3229 > > nominal process_child = $'std_process_Child'
00:01:48 verbose #3230 > 00:01:47 debug #228 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4b8e59b1555c306a49d30918ecd8df5725afb05f6a721d56fa1d3e8fc8bb042b/main.spi
00:01:48 verbose #3231 > >
00:01:48 verbose #3232 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3233 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3234 > > │ ## process_child_stderr │
00:01:48 verbose #3235 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3236 > >
00:01:48 verbose #3237 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3238 > > nominal process_child_stderr = $"std_process_ChildStderr"
00:01:48 verbose #3239 > >
00:01:48 verbose #3240 > > inl process_child_stderr (child : rust.ref' (rust.mut' process_child)) :
00:01:48 verbose #3241 > > rust.ref' (rust.mut' (optionm'.option' process_child_stderr)) =
00:01:48 verbose #3242 > > !\\(child, $'"&mut $0.stderr"')
00:01:48 verbose #3243 > 00:01:47 debug #229 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/de59092b1feb8c68d467c1cde0030da00b2edadfdce1613ffb8d6ccc06037f09/main.spi
00:01:48 verbose #3244 > >
00:01:48 verbose #3245 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3246 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3247 > > │ ## process_child_stdout │
00:01:48 verbose #3248 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3249 > >
00:01:48 verbose #3250 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3251 > > nominal process_child_stdout = $"std_process_ChildStdout"
00:01:48 verbose #3252 > >
00:01:48 verbose #3253 > > inl process_child_stdout (child : rust.ref' (rust.mut' process_child)) :
00:01:48 verbose #3254 > > rust.ref' (rust.mut' (optionm'.option' process_child_stdout)) =
00:01:48 verbose #3255 > > !\\(child, $'"&mut $0.stdout"')
00:01:48 verbose #3256 > 00:01:47 debug #230 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4a21138dc02c6e52c40956a9fec48ad27130f0c630f6adfe55be0d16476127f5/main.spi
00:01:48 verbose #3257 > >
00:01:48 verbose #3258 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3259 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3260 > > │ ## process_child_stdin │
00:01:48 verbose #3261 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3262 > >
00:01:48 verbose #3263 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3264 > > nominal process_child_stdin = $"std_process_ChildStdin"
00:01:48 verbose #3265 > >
00:01:48 verbose #3266 > > inl process_child_stdin (child : rust.ref' (rust.mut' process_child)) :
00:01:48 verbose #3267 > > rust.ref' (rust.mut' (optionm'.option' process_child_stdin)) =
00:01:48 verbose #3268 > > !\\(child, $'"&mut $0.stdin"')
00:01:48 verbose #3269 > 00:01:47 debug #231 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5e4a1a428fa2360ea7bdcd87de0fd09fdea8816e688b31247a2f463b81e57770/main.spi
00:01:48 verbose #3270 > >
00:01:48 verbose #3271 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3272 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3273 > > │ ## process_command │
00:01:48 verbose #3274 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3275 > >
00:01:48 verbose #3276 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3277 > > nominal process_command = $'std_process_Command'
00:01:48 verbose #3278 > 00:01:48 debug #232 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/814476df00950d97fec75d1730be2de34ddfcc0acc1575c651efc0656136f369/main.spi
00:01:48 verbose #3279 > >
00:01:48 verbose #3280 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3281 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3282 > > │ ## process_stdio │
00:01:48 verbose #3283 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3284 > >
00:01:48 verbose #3285 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3286 > > nominal process_stdio = $'std_process_Stdio'
00:01:48 verbose #3287 > 00:01:48 debug #233 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bd0ce7a3ee0cb195ca65606148a6fd92d2ebb6020056d879cfe87c70106d2535/main.spi
00:01:48 verbose #3288 > >
00:01:48 verbose #3289 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3290 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3291 > > │ ## process_output │
00:01:48 verbose #3292 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3293 > >
00:01:48 verbose #3294 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3295 > > nominal process_output = $'std_process_Output'
00:01:48 verbose #3296 > 00:01:48 debug #234 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/460c4f86064e1bbe7cb6704d8aff443642978289309190800a003af3fc362738/main.spi
00:01:48 verbose #3297 > >
00:01:48 verbose #3298 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3299 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3300 > > │ ## process_exit_status │
00:01:48 verbose #3301 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3302 > >
00:01:48 verbose #3303 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3304 > > nominal process_exit_status = $'std_process_ExitStatus'
00:01:48 verbose #3305 > 00:01:48 debug #235 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1da1f3cccc463d02008b4dbb0b183424889bbf80627aa3bf5b9606caec5009ba/main.spi
00:01:48 verbose #3306 > >
00:01:48 verbose #3307 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3308 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3309 > > │ ## process_output_status │
00:01:48 verbose #3310 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3311 > >
00:01:48 verbose #3312 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3313 > > inl process_output_status (output : process_output) : process_exit_status =
00:01:48 verbose #3314 > > !\\(output, $'"$0.status"')
00:01:48 verbose #3315 > 00:01:48 debug #236 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/442c2390f56020c2a278a701aae9431188b1296ef007e4c3e3760dcc9e891d3d/main.spi
00:01:48 verbose #3316 > >
00:01:48 verbose #3317 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3318 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3319 > > │ ## process_exit_status_code │
00:01:48 verbose #3320 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3321 > >
00:01:48 verbose #3322 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3323 > > inl process_exit_status_code (status : process_exit_status) : optionm'.option'
00:01:48 verbose #3324 > > i32 =
00:01:48 verbose #3325 > > !\\(status, $'"$0.code()"')
00:01:48 verbose #3326 > 00:01:48 debug #237 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e8b501f611bb69586b191fb76d582ad80c6a3bea23e84233a9020af7cbdaa5b3/main.spi
00:01:48 verbose #3327 > >
00:01:48 verbose #3328 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3329 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3330 > > │ ## os_platform │
00:01:48 verbose #3331 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3332 > >
00:01:48 verbose #3333 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3334 > > nominal os_platform' = $'System.Runtime.InteropServices.OSPlatform'
00:01:48 verbose #3335 > >
00:01:48 verbose #3336 > > union os_platform =
00:01:48 verbose #3337 > > | Windows
00:01:48 verbose #3338 > >
00:01:48 verbose #3339 > > inl os_platform = function
00:01:48 verbose #3340 > > | Windows => $'`os_platform'.Windows' : os_platform'
00:01:48 verbose #3341 > 00:01:48 debug #238 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4510ba9c7b275fdce090518147e4cb8bdb8a19ccb5fbdbf00dc086752c89e156/main.spi
00:01:48 verbose #3342 > >
00:01:48 verbose #3343 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:48 verbose #3344 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:48 verbose #3345 > > │ ## is_os_platform │
00:01:48 verbose #3346 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:48 verbose #3347 > >
00:01:48 verbose #3348 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:48 verbose #3349 > > inl is_os_platform (x : os_platform') : bool =
00:01:48 verbose #3350 > > x |> $'System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform'
00:01:48 verbose #3351 > 00:01:48 debug #239 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c6928dc95d262f235ff8b7b155c6eaf6ab90f3a0c44384fd0463e2bfb85c3118/main.spi
00:01:49 verbose #3352 > >
00:01:49 verbose #3353 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:49 verbose #3354 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:49 verbose #3355 > > │ ## is_windows │
00:01:49 verbose #3356 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:49 verbose #3357 > >
00:01:49 verbose #3358 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:49 verbose #3359 > > inl is_windows () : bool =
00:01:49 verbose #3360 > > run_target function
00:01:49 verbose #3361 > > | Fsharp (Native) => fun () =>
00:01:49 verbose #3362 > > Windows |> os_platform |> is_os_platform
00:01:49 verbose #3363 > > | Rust (Native) => fun () =>
00:01:49 verbose #3364 > > !\($'"cfg\!(windows)"')
00:01:49 verbose #3365 > > | _ => fun () => null ()
00:01:49 verbose #3366 > 00:01:48 debug #240 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a250a1035c3493d835d6d17958c6f7b18684097c261223ad936657f4e45183d5/main.spi
00:01:49 verbose #3367 > >
00:01:49 verbose #3368 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:49 verbose #3369 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:49 verbose #3370 > > │ ## get_executable_suffix │
00:01:49 verbose #3371 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:49 verbose #3372 > >
00:01:49 verbose #3373 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:49 verbose #3374 > > inl get_executable_suffix () =
00:01:49 verbose #3375 > > if is_windows ()
00:01:49 verbose #3376 > > then ".exe"
00:01:49 verbose #3377 > > else ""
00:01:49 verbose #3378 > 00:01:48 debug #241 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aa0ceb928adcae11e977c5c03571244b70f06bf1af7c60efc6f4846dffda1f0a/main.spi
00:01:49 verbose #3379 > >
00:01:49 verbose #3380 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:49 verbose #3381 > > //// test
00:01:49 verbose #3382 > >
00:01:49 verbose #3383 > > get_executable_suffix ()
00:01:49 verbose #3384 > 00:01:48 debug #242 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2c694b0ff0a114b03568d4dcd70f7a3585df6e98964f48985266a1e796ef949b/main.spi
00:01:49 verbose #3385 > >
00:01:49 verbose #3386 > >
00:01:49 verbose #3387 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:49 verbose #3388 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:49 verbose #3389 > > │ ## quoted │
00:01:49 verbose #3390 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:49 verbose #3391 > >
00:01:49 verbose #3392 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:49 verbose #3393 > > union quoted =
00:01:49 verbose #3394 > > | Quoted
00:01:49 verbose #3395 > > | NotQuoted
00:01:49 verbose #3396 > 00:01:49 debug #243 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e93d7ca2c05bb66fec9af261394557683d880be77359c499b90e5cd19c0c7b4f/main.spi
00:01:49 verbose #3397 > >
00:01:49 verbose #3398 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:49 verbose #3399 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:49 verbose #3400 > > │ ## split_command │
00:01:49 verbose #3401 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:49 verbose #3402 > >
00:01:49 verbose #3403 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:49 verbose #3404 > > union command_parse_step =
00:01:49 verbose #3405 > > | Start
00:01:49 verbose #3406 > > | Path : quoted
00:01:49 verbose #3407 > > | Arguments
00:01:49 verbose #3408 > >
00:01:49 verbose #3409 > > inl split_command (command : string) =
00:01:49 verbose #3410 > > let rec loop (path, args) (chars : list char) step =
00:01:49 verbose #3411 > > match step, chars with
00:01:49 verbose #3412 > > | _, (('"' | '\'') :: tail) when path = "" => loop (path, args) tail
00:01:49 verbose #3413 > > (Path Quoted)
00:01:49 verbose #3414 > > | Path (Quoted), (('"' | '\'') :: tail) => loop (path, args) tail (Path
00:01:49 verbose #3415 > > NotQuoted)
00:01:49 verbose #3416 > > | Path (Quoted), (' ' :: tail) => loop ($'$"{!path} "', args) tail (Path
00:01:49 verbose #3417 > > Quoted)
00:01:49 verbose #3418 > > | (Start | Path _), (' ' :: tail) => loop (path, args) tail Arguments
00:01:49 verbose #3419 > > | Arguments, (char :: tail) => loop (path, $'$"{!args}{!char}"') tail
00:01:49 verbose #3420 > > Arguments
00:01:49 verbose #3421 > > | _, (char :: tail) => loop ($'$"{!path}{!char}"', args) tail step
00:01:49 verbose #3422 > > | _ => path |> sm'.replace @"\" "/", args
00:01:49 verbose #3423 > > loop (join "", "") (command |> sm'.to_char_array |> am'.to_list' |>
00:01:49 verbose #3424 > > listm'.unbox) Start
00:01:49 verbose #3425 > 00:01:49 debug #244 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e26caac399f2923cbb921269e3ec62d064e84a88819831cf3036094f93827e70/main.spi
00:01:49 verbose #3426 > >
00:01:49 verbose #3427 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:49 verbose #3428 > > //// test
00:01:49 verbose #3429 > >
00:01:49 verbose #3430 > > split_command ""
00:01:49 verbose #3431 > > |> _assert_eq ("", "")
00:01:49 verbose #3432 > >
00:01:49 verbose #3433 > > split_command "/a/b/c"
00:01:49 verbose #3434 > > |> _assert_eq ("/a/b/c", "")
00:01:49 verbose #3435 > >
00:01:49 verbose #3436 > > split_command "cat file.txt"
00:01:49 verbose #3437 > > |> _assert_eq ("cat", "file.txt")
00:01:49 verbose #3438 > >
00:01:49 verbose #3439 > > split_command $'"""..\\..\\file.exe file1.txt file2.txt"""'
00:01:49 verbose #3440 > > |> _assert_eq ("../../file.exe", "file1.txt file2.txt")
00:01:49 verbose #3441 > >
00:01:49 verbose #3442 > > split_command $'\@"c:\\dir\\file.exe ""file1.txt file2.txt"""'
00:01:49 verbose #3443 > > |> _assert_eq ("c:/dir/file.exe", $'\@"""file1.txt file2.txt"""')
00:01:49 verbose #3444 > >
00:01:49 verbose #3445 > > split_command $'\@"""..\\..\\dir name\\file.exe"" ""file 1.txt"" file2.txt"'
00:01:49 verbose #3446 > > |> _assert_eq ("../../dir name/file.exe", $'\@"""file 1.txt"" file2.txt"')
00:01:49 verbose #3447 > >
00:01:49 verbose #3448 > > split_command $'\@"""..\\..\\file 1.exe"" -c \\\\""echo 1\\\\"""'
00:01:49 verbose #3449 > > |> _assert_eq ("../../file 1.exe", $'\@"-c \\\\""echo 1\\\\"""')
00:01:49 verbose #3450 > >
00:01:49 verbose #3451 > > split_command $'\@"..\\..\\file 1.exe -c \\\\""echo 1\\\\"""'
00:01:49 verbose #3452 > > |> _assert_eq ("../../file", $'\@"1.exe -c \\\\""echo 1\\\\"""')
00:01:49 verbose #3453 > 00:01:49 debug #245 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1fee52de09a58a29a55242270d8b7e3995d92bd99db1886dae34158f1f98fc69/main.spi
00:01:50 verbose #3454 > >
00:01:50 verbose #3455 > > ╭─[ 940.07ms - stdout ]────────────────────────────────────────────────────────╮
00:01:50 verbose #3456 > > │ assert_eq / actual: struct ("", "") / expected: struct ("", "") │
00:01:50 verbose #3457 > > │ assert_eq / actual: struct ("/a/b/c", "") / expected: struct ("/a/b/c", "") │
00:01:50 verbose #3458 > > │ assert_eq / actual: struct ("cat", "file.txt") / expected: struct ("cat", │
00:01:50 verbose #3459 > > │ "file.txt") │
00:01:50 verbose #3460 > > │ assert_eq / actual: struct ("../../file.exe", "file1.txt file2.txt") / │
00:01:50 verbose #3461 > > │ expected: struct ("../../file.exe", "file1.txt file2.txt") │
00:01:50 verbose #3462 > > │ assert_eq / actual: struct ("c:/dir/file.exe", ""file1.txt file2.txt"") / │
00:01:50 verbose #3463 > > │ expected: struct ("c:/dir/file.exe", ""file1.txt file2.txt"") │
00:01:50 verbose #3464 > > │ assert_eq / actual: struct ("../../dir name/file.exe", ""file 1.txt" │
00:01:50 verbose #3465 > > │ file2.txt") / expected: struct ("../../dir name/file.exe", ""file 1.txt" │
00:01:50 verbose #3466 > > │ file2.txt") │
00:01:50 verbose #3467 > > │ assert_eq / actual: struct ("../../file 1.exe", "-c \\"echo 1\\"") / │
00:01:50 verbose #3468 > > │ expected: struct ("../../file 1.exe", "-c \\"echo 1\\"") │
00:01:50 verbose #3469 > > │ assert_eq / actual: struct ("../../file", "1.exe -c \\"echo 1\\"") / │
00:01:50 verbose #3470 > > │ expected: struct ("../../file", "1.exe -c \\"echo 1\\"") │
00:01:50 verbose #3471 > > │ │
00:01:50 verbose #3472 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:50 verbose #3473 > >
00:01:50 verbose #3474 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:50 verbose #3475 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:50 verbose #3476 > > │ ## process │
00:01:50 verbose #3477 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:50 verbose #3478 > >
00:01:50 verbose #3479 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:50 verbose #3480 > > nominal process = $'System.Diagnostics.Process'
00:01:50 verbose #3481 > > nominal process_start_info = $'System.Diagnostics.ProcessStartInfo'
00:01:50 verbose #3482 > > nominal data_received_event_args = $'System.Diagnostics.DataReceivedEventArgs'
00:01:50 verbose #3483 > >
00:01:50 verbose #3484 > > inl new_process (process_start_info : process_start_info) : process =
00:01:50 verbose #3485 > > $'new `process (StartInfo = !process_start_info)'
00:01:50 verbose #3486 > >
00:01:50 verbose #3487 > > inl process_start (process : process) : bool =
00:01:50 verbose #3488 > > $'!process.Start' ()
00:01:50 verbose #3489 > >
00:01:50 verbose #3490 > > inl process_exit_code (process : process) : i32 =
00:01:50 verbose #3491 > > $'!process.ExitCode'
00:01:50 verbose #3492 > >
00:01:50 verbose #3493 > > inl process_id (process : process) : i32 =
00:01:50 verbose #3494 > > $'!process.Id'
00:01:50 verbose #3495 > >
00:01:50 verbose #3496 > > inl process_has_exited (process : process) : bool =
00:01:50 verbose #3497 > > run_target function
00:01:50 verbose #3498 > > | Fsharp (Native) => fun () =>
00:01:50 verbose #3499 > > $'!process.HasExited'
00:01:50 verbose #3500 > > | _ => fun () => null ()
00:01:50 verbose #3501 > >
00:01:50 verbose #3502 > > inl process_kill (process : process) : () =
00:01:50 verbose #3503 > > run_target function
00:01:50 verbose #3504 > > | Fsharp (Native) => fun () =>
00:01:50 verbose #3505 > > $'!process.Kill' ()
00:01:50 verbose #3506 > > | _ => fun () => null ()
00:01:50 verbose #3507 > >
00:01:50 verbose #3508 > > inl process_begin_error_read_line (process : process) : () =
00:01:50 verbose #3509 > > $'!process.BeginErrorReadLine' ()
00:01:50 verbose #3510 > >
00:01:50 verbose #3511 > > inl process_begin_output_read_line (process : process) : () =
00:01:50 verbose #3512 > > $'!process.BeginOutputReadLine' ()
00:01:50 verbose #3513 > >
00:01:50 verbose #3514 > > inl process_add_output_data_received fn (process : process) : () =
00:01:50 verbose #3515 > > $'!process.OutputDataReceived.Add !fn '
00:01:50 verbose #3516 > >
00:01:50 verbose #3517 > > inl process_add_error_data_received fn (process : process) : () =
00:01:50 verbose #3518 > > $'!process.ErrorDataReceived.Add !fn '
00:01:50 verbose #3519 > >
00:01:50 verbose #3520 > > inl process_wait_for_exit_async (ct : threading.cancellation_token) (process :
00:01:50 verbose #3521 > > process) : async.task () =
00:01:50 verbose #3522 > > $'!process.WaitForExitAsync !ct '
00:01:50 verbose #3523 > >
00:01:50 verbose #3524 > > inl event_data (e : data_received_event_args) : string =
00:01:50 verbose #3525 > > $'!e.Data'
00:01:50 verbose #3526 > 00:01:50 debug #246 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b8fb97a7b33d2963ac813ed7aebaec38d55c540c141c0032d78f5d1e0f9553d4/main.spi
00:01:50 verbose #3527 > >
00:01:50 verbose #3528 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:50 verbose #3529 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:50 verbose #3530 > > │ ## execution_line │
00:01:50 verbose #3531 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:50 verbose #3532 > >
00:01:50 verbose #3533 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:50 verbose #3534 > > type execution_line =
00:01:50 verbose #3535 > > {
00:01:50 verbose #3536 > > process_id : int
00:01:50 verbose #3537 > > line : string
00:01:50 verbose #3538 > > error : bool
00:01:50 verbose #3539 > > }
00:01:50 verbose #3540 > 00:01:50 debug #247 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ef51a27c837500007710c3606c9f0599e3f63242cac077cbe598785351d3a87f/main.spi
00:01:50 verbose #3541 > >
00:01:50 verbose #3542 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:50 verbose #3543 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:50 verbose #3544 > > │ ## execution_options │
00:01:50 verbose #3545 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:50 verbose #3546 > >
00:01:50 verbose #3547 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:50 verbose #3548 > > type execution_options =
00:01:50 verbose #3549 > > {
00:01:50 verbose #3550 > > command : string
00:01:50 verbose #3551 > > cancellation_token : optionm'.option' threading.cancellation_token
00:01:50 verbose #3552 > > environment_variables : array_base (string * string)
00:01:50 verbose #3553 > > on_line : optionm'.option' (execution_line -> async.async ())
00:01:50 verbose #3554 > > stdin : optionm'.option' (threading.arc (threading.mutex
00:01:50 verbose #3555 > > process_child_stdin) -> ())
00:01:50 verbose #3556 > > trace : bool
00:01:50 verbose #3557 > > working_directory : optionm'.option' string
00:01:50 verbose #3558 > > }
00:01:50 verbose #3559 > >
00:01:50 verbose #3560 > > inl execution_options (fn : execution_options -> execution_options) :
00:01:50 verbose #3561 > > execution_options =
00:01:50 verbose #3562 > > {
00:01:50 verbose #3563 > > command = ""
00:01:50 verbose #3564 > > cancellation_token = None |> optionm'.box
00:01:50 verbose #3565 > > environment_variables = ;[[]]
00:01:50 verbose #3566 > > on_line = None |> optionm'.box
00:01:50 verbose #3567 > > stdin = None |> optionm'.box
00:01:50 verbose #3568 > > trace = true
00:01:50 verbose #3569 > > working_directory = None |> optionm'.box
00:01:50 verbose #3570 > > }
00:01:50 verbose #3571 > > |> fn
00:01:50 verbose #3572 > 00:01:50 debug #248 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/be7347db03b5d829b33d006946f54d416676ad7ae7a301b353e125e005a22432/main.spi
00:01:51 verbose #3573 > >
00:01:51 verbose #3574 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:51 verbose #3575 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:51 verbose #3576 > > │ ## execute_with_options_async │
00:01:51 verbose #3577 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:51 verbose #3578 > >
00:01:51 verbose #3579 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:51 verbose #3580 > > let execute_with_options_async (options : execution_options) : _ (i32 * string)
00:01:51 verbose #3581 > > =
00:01:51 verbose #3582 > > run_target function
00:01:51 verbose #3583 > > | Fsharp (Native) => fun () =>
00:01:51 verbose #3584 > > fun () =>
00:01:51 verbose #3585 > > inl file_name, arguments = options.command |> split_command
00:01:51 verbose #3586 > > inl working_directory = options.working_directory |>
00:01:51 verbose #3587 > > optionm'.unbox |> optionm'.default_value ""
00:01:51 verbose #3588 > >
00:01:51 verbose #3589 > > trace Debug (fun () => $'$"execute_with_options_async / options:
00:01:51 verbose #3590 > > %A{!options}"') (join _locals)
00:01:51 verbose #3591 > >
00:01:51 verbose #3592 > > inl utf8 = sm'.encoding_utf8 ()
00:01:51 verbose #3593 > > inl start_info : process_start_info =
00:01:51 verbose #3594 > > $'System.Diagnostics.ProcessStartInfo (Arguments = !arguments,
00:01:51 verbose #3595 > > StandardOutputEncoding = !utf8, WorkingDirectory = !working_directory, FileName
00:01:51 verbose #3596 > > = !file_name, CreateNoWindow = true, RedirectStandardError = true,
00:01:51 verbose #3597 > > RedirectStandardOutput = true, UseShellExecute = false)'
00:01:51 verbose #3598 > >
00:01:51 verbose #3599 > > (a options.environment_variables : _ i32 _)
00:01:51 verbose #3600 > > |> am.iter fun key, value =>
00:01:51 verbose #3601 > > $'!start_info.EnvironmentVariables.[[!key]] <- !value '
00:01:51 verbose #3602 > >
00:01:51 verbose #3603 > > inl proc = start_info |> new_process |> use
00:01:51 verbose #3604 > > inl output : _ string = threading.new_concurrent_stack ()
00:01:51 verbose #3605 > >
00:01:51 verbose #3606 > > inl event error (e : data_received_event_args) = async.new_async
00:01:51 verbose #3607 > > fun () =>
00:01:51 verbose #3608 > > inl data = e |> event_data
00:01:51 verbose #3609 > > if data <> null () then
00:01:51 verbose #3610 > > match options.on_line |> optionm'.unbox with
00:01:51 verbose #3611 > > | Some on_line =>
00:01:51 verbose #3612 > > on_line
00:01:51 verbose #3613 > > {
00:01:51 verbose #3614 > > process_id = proc |> process_id
00:01:51 verbose #3615 > > line = data
00:01:51 verbose #3616 > > error = error
00:01:51 verbose #3617 > > }
00:01:51 verbose #3618 > > |> async.do
00:01:51 verbose #3619 > > | None => ()
00:01:51 verbose #3620 > >
00:01:51 verbose #3621 > > inl text =
00:01:51 verbose #3622 > > if error
00:01:51 verbose #3623 > > then $'$"\! {!data}"'
00:01:51 verbose #3624 > > else $'$"> {!data}"'
00:01:51 verbose #3625 > > if options.trace
00:01:51 verbose #3626 > > then trace Verbose (fun () => text) _locals
00:01:51 verbose #3627 > > else text |> console.write_line
00:01:51 verbose #3628 > >
00:01:51 verbose #3629 > > inl l = if error then $'"\\u001b[[7;4m"' else ""
00:01:51 verbose #3630 > > inl r = if error then $'"\\u001b[[0m"' else ""
00:01:51 verbose #3631 > > output |> threading.concurrent_stack_push
00:01:51 verbose #3632 > > $'$"{!l}{!data}{!r}"'
00:01:51 verbose #3633 > >
00:01:51 verbose #3634 > > proc |> process_add_output_data_received (event false >>
00:01:51 verbose #3635 > > async.start_immediate)
00:01:51 verbose #3636 > > proc |> process_add_error_data_received (event true >>
00:01:51 verbose #3637 > > async.start_immediate)
00:01:51 verbose #3638 > >
00:01:51 verbose #3639 > > if proc |> process_start |> not
00:01:51 verbose #3640 > > then failwith $'$"execute_with_options_async / process_start
00:01:51 verbose #3641 > > error"'
00:01:51 verbose #3642 > >
00:01:51 verbose #3643 > > proc |> process_begin_error_read_line
00:01:51 verbose #3644 > > proc |> process_begin_output_read_line
00:01:51 verbose #3645 > >
00:01:51 verbose #3646 > > inl ct =
00:01:51 verbose #3647 > > options.cancellation_token
00:01:51 verbose #3648 > > |> optionm'.unbox
00:01:51 verbose #3649 > > |> optionm'.default_with threading.token_none
00:01:51 verbose #3650 > > |> async.merge_cancellation_token_with_default_async
00:01:51 verbose #3651 > > |> async.let'
00:01:51 verbose #3652 > >
00:01:51 verbose #3653 > > ct |> threading.token_register fun () =>
00:01:51 verbose #3654 > > if proc |> process_has_exited |> not
00:01:51 verbose #3655 > > then proc |> process_kill
00:01:51 verbose #3656 > > |> use
00:01:51 verbose #3657 > > |> ignore
00:01:51 verbose #3658 > >
00:01:51 verbose #3659 > > inl exit_code : i32 =
00:01:51 verbose #3660 > > fun () =>
00:01:51 verbose #3661 > > try_unit
00:01:51 verbose #3662 > > fun () =>
00:01:51 verbose #3663 > > proc
00:01:51 verbose #3664 > > |> process_wait_for_exit_async ct
00:01:51 verbose #3665 > > |> async.await_task
00:01:51 verbose #3666 > > |> async.do
00:01:51 verbose #3667 > > proc |> process_exit_code |> return
00:01:51 verbose #3668 > > fun ex =>
00:01:51 verbose #3669 > > // with :?
00:01:51 verbose #3670 > > System.Threading.Tasks.TaskCanceledException as ex =>
00:01:51 verbose #3671 > > inl ex' = ex |> sm'.format_exception
00:01:51 verbose #3672 > > output |> threading.concurrent_stack_push ex'
00:01:51 verbose #3673 > > inl ex : async.task_canceled_exception = ex |>
00:01:51 verbose #3674 > > unbox
00:01:51 verbose #3675 > > trace Warning (fun () =>
00:01:51 verbose #3676 > > $'$"execute_with_options_async / WaitForExitAsync / ex: %A{!ex}"') (join
00:01:51 verbose #3677 > > _locals)
00:01:51 verbose #3678 > > (limit.min : i32) |> return
00:01:51 verbose #3679 > > |> async.new_async_unit
00:01:51 verbose #3680 > > |> async.let'
00:01:51 verbose #3681 > >
00:01:51 verbose #3682 > > inl output =
00:01:51 verbose #3683 > > output
00:01:51 verbose #3684 > > |> seq.rev''
00:01:51 verbose #3685 > > |> fun x => x : seq.seq' string
00:01:51 verbose #3686 > > |> sm'.concat "\n"
00:01:51 verbose #3687 > >
00:01:51 verbose #3688 > > trace Debug (fun () =>
00:01:51 verbose #3689 > > $'$"execute_with_options_async / exit_code: {!exit_code}
00:01:51 verbose #3690 > > output.Length: {!output.Length}"'
00:01:51 verbose #3691 > > ) (join _locals)
00:01:51 verbose #3692 > >
00:01:51 verbose #3693 > > (exit_code, output) |> return
00:01:51 verbose #3694 > > |> async.new_async_unit
00:01:51 verbose #3695 > > | _ => fun () =>
00:01:51 verbose #3696 > > global "#if FABLE_COMPILER\n[[<CompilationRepresentation
00:01:51 verbose #3697 > > (CompilationRepresentationFlags.ModuleSuffix)>]]\nmodule System =\n module
00:01:51 verbose #3698 > > Diagnostics =\n type Process = unit\n type DataReceivedEventArgs =
00:01:51 verbose #3699 > > unit\n#endif"
00:01:51 verbose #3700 > > null ()
00:01:51 verbose #3701 > 00:01:50 debug #249 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6ddcbf8c32cc1e71bccea2a2621951c1a3291f9c33e5a2d599fb514a0c39a13d/main.spi
00:01:51 verbose #3702 > >
00:01:51 verbose #3703 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:51 verbose #3704 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:51 verbose #3705 > > │ ## execute_async │
00:01:51 verbose #3706 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:51 verbose #3707 > >
00:01:51 verbose #3708 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:51 verbose #3709 > > inl execute_async command =
00:01:51 verbose #3710 > > execution_options fun x => { x with
00:01:51 verbose #3711 > > command = command
00:01:51 verbose #3712 > > }
00:01:51 verbose #3713 > > |> execute_with_options_async
00:01:51 verbose #3714 > 00:01:50 debug #250 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a326029b1d0d0704be115660df5caf6669598677352031562e2a0d17559bd5fb/main.spi
00:01:51 verbose #3715 > >
00:01:51 verbose #3716 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:51 verbose #3717 > > //// test
00:01:51 verbose #3718 > >
00:01:51 verbose #3719 > > types ()
00:01:51 verbose #3720 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:01:51 verbose #3721 > > disposable |> use |> ignore
00:01:51 verbose #3722 > > inl file_name = "test.txt"
00:01:51 verbose #3723 > > inl path = temp_folder </> file_name
00:01:51 verbose #3724 > >
00:01:51 verbose #3725 > > inl content = "╭─[[ 你好,世界!こんにちは世界! ]]─╮"
00:01:51 verbose #3726 > > fun () =>
00:01:51 verbose #3727 > > inl exit_code, result = execute_async $'\@$"pwsh -c ""Get-Content
00:01:51 verbose #3728 > > {!path}"""' |> async.let'
00:01:51 verbose #3729 > > exit_code |> join _assert_eq 1
00:01:51 verbose #3730 > > result |> _assert_string_contains "not exist"
00:01:51 verbose #3731 > >
00:01:51 verbose #3732 > > content |> file_system.write_all_text_async path |> async.do
00:01:51 verbose #3733 > >
00:01:51 verbose #3734 > > execution_options fun x => { x with
00:01:51 verbose #3735 > > command = $'\@$"cat ""{!file_name}"""'
00:01:51 verbose #3736 > > working_directory = Some temp_folder |> optionm'.box
00:01:51 verbose #3737 > > }
00:01:51 verbose #3738 > > |> execute_with_options_async
00:01:51 verbose #3739 > > |> async.let'
00:01:51 verbose #3740 > > |> ignore
00:01:51 verbose #3741 > >
00:01:51 verbose #3742 > > execution_options fun x => { x with
00:01:51 verbose #3743 > > command = $'\@$"pwsh -c ""[[System.Console]]::OutputEncoding =
00:01:51 verbose #3744 > > [[System.Text.Encoding]]::UTF8; Get-Content {!file_name}"""'
00:01:51 verbose #3745 > > working_directory = Some temp_folder |> optionm'.box
00:01:51 verbose #3746 > > }
00:01:51 verbose #3747 > > |> execute_with_options_async
00:01:51 verbose #3748 > > |> async.return_await
00:01:51 verbose #3749 > > |> async.new_async_unit
00:01:51 verbose #3750 > > |> async.run_with_timeout 10000
00:01:51 verbose #3751 > > |> function
00:01:51 verbose #3752 > > | Some (exit_code, output) =>
00:01:51 verbose #3753 > > exit_code |> join _assert_eq 0i32
00:01:51 verbose #3754 > > output |> join _assert_eq content
00:01:51 verbose #3755 > > true
00:01:51 verbose #3756 > > | _ => false
00:01:51 verbose #3757 > > |> _assert_eq true
00:01:51 verbose #3758 > 00:01:51 debug #251 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5da262aebee6bbd286c26ef439740ce8983f5faccc7d01a6ef4a40c1453fbd45/main.spi
00:01:54 verbose #3759 > >
00:01:54 verbose #3760 > > ╭─[ 2.68s - stdout ]───────────────────────────────────────────────────────────╮
00:01:54 verbose #3761 > > │ 00:00:00 debug #1 execute_with_options_async / options: struct (None, │
00:01:54 verbose #3762 > > │ "pwsh -c "Get-Content │
00:01:54 verbose #3763 > > │ /tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6/test.txt"", │
00:01:54 verbose #3764 > > │ [||], None, None, true, None) │
00:01:54 verbose #3765 > > │ 00:00:00 verbose #2 ! Get-Content: Cannot find path │
00:01:54 verbose #3766 > > │ '/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6/test.txt' because it │
00:01:54 verbose #3767 > > │ does not exist. │
00:01:54 verbose #3768 > > │ 00:00:00 debug #3 execute_with_options_async / exit_code: 1 / │
00:01:54 verbose #3769 > > │ output.Length: 150 │
00:01:54 verbose #3770 > > │ assert_eq / actual: 1 / expected: 1 │
00:01:54 verbose #3771 > > │ assert_string_contains / actual: "not exist" / expected: "38;5;2m│
00:01:54 verbose #3772 > > │ 31;1mGet-Content: Cannot find path │
00:01:54 verbose #3773 > > │ '/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6/test.txt' because it │
00:01:54 verbose #3774 > > │ does not exist." │
00:01:54 verbose #3775 > > │ 00:00:00 debug #4 execute_with_options_async / options: struct (None, "cat │
00:01:54 verbose #3776 > > │ "test.txt"", [||], None, None, true, │
00:01:54 verbose #3777 > > │ Some "/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6") │
00:01:54 verbose #3778 > > │ 00:00:00 verbose #5 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │
00:01:54 verbose #3779 > > │ 00:00:00 debug #6 execute_with_options_async / exit_code: 0 / │
00:01:54 verbose #3780 > > │ output.Length: 22 │
00:01:54 verbose #3781 > > │ 00:00:00 debug #7 execute_with_options_async / options: struct (None, │
00:01:54 verbose #3782 > > │ "pwsh -c "[System.Console]::OutputEncoding = [ │
00:01:54 verbose #3783 > > │ System.Text.Encoding]::UTF8; Get-Content test.txt"", │
00:01:54 verbose #3784 > > │ [||], None, None, true, │
00:01:54 verbose #3785 > > │ Some "/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6") │
00:01:54 verbose #3786 > > │ 00:00:00 verbose #8 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │
00:01:54 verbose #3787 > > │ 00:00:00 debug #9 execute_with_options_async / exit_code: 0 / │
00:01:54 verbose #3788 > > │ output.Length: 22 │
00:01:54 verbose #3789 > > │ assert_eq / actual: 0 / expected: 0 │
00:01:54 verbose #3790 > > │ assert_eq / actual: "╭─[ 你好,世界!こんにちは世界! ]─╮" / expected: "╭─[ │
00:01:54 verbose #3791 > > │ 你好,世界!こんにちは世界! ]─╮" │
00:01:54 verbose #3792 > > │ assert_eq / actual: true / expected: true │
00:01:54 verbose #3793 > > │ │
00:01:54 verbose #3794 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:54 verbose #3795 > >
00:01:54 verbose #3796 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:54 verbose #3797 > > //// test
00:01:54 verbose #3798 > >
00:01:54 verbose #3799 > > file_system.types ()
00:01:54 verbose #3800 > > inl temp_dir, disposable = file_system.create_temp_directory ()
00:01:54 verbose #3801 > > disposable |> use |> ignore
00:01:54 verbose #3802 > > fun () =>
00:01:54 verbose #3803 > > inl path = temp_dir </> "test.txt"
00:01:54 verbose #3804 > > "0" |> file_system.write_all_text_async path |> async.do
00:01:54 verbose #3805 > >
00:01:54 verbose #3806 > > inl cts = threading.new_cancellation_token_source ()
00:01:54 verbose #3807 > > trace Debug (fun () => "1") _locals
00:01:54 verbose #3808 > > inl result =
00:01:54 verbose #3809 > > execution_options fun x => { x with
00:01:54 verbose #3810 > > command = $'\@$"pwsh -c ""Get-Content {!path}"""'
00:01:54 verbose #3811 > > cancellation_token = cts |> threading.cancellation_source_token |>
00:01:54 verbose #3812 > > Some |> optionm'.box
00:01:54 verbose #3813 > > }
00:01:54 verbose #3814 > > |> execute_with_options_async
00:01:54 verbose #3815 > > |> async.start_child
00:01:54 verbose #3816 > > |> async.let'
00:01:54 verbose #3817 > > trace Debug (fun () => "2") _locals
00:01:54 verbose #3818 > > async.sleep 100 |> async.do
00:01:54 verbose #3819 > > trace Debug (fun () => "3") _locals
00:01:54 verbose #3820 > > cts |> threading.cancellation_source_cancel
00:01:54 verbose #3821 > > trace Debug (fun () => "4") _locals
00:01:54 verbose #3822 > > inl exit_code, output = result |> async.let'
00:01:54 verbose #3823 > > trace Debug (fun () => "5") _locals
00:01:54 verbose #3824 > > (exit_code, output) |> return
00:01:54 verbose #3825 > > |> async.new_async_unit
00:01:54 verbose #3826 > > |> async.run_with_timeout 10000
00:01:54 verbose #3827 > > |> function
00:01:54 verbose #3828 > > | Some (exit_code, output) =>
00:01:54 verbose #3829 > > exit_code |> _assert_eq -2147483648i32
00:01:54 verbose #3830 > > output |> _assert_eq (join
00:01:54 verbose #3831 > > "System.Threading.Tasks.TaskCanceledException: A task was canceled.")
00:01:54 verbose #3832 > > true
00:01:54 verbose #3833 > > | _ => false
00:01:54 verbose #3834 > > |> _assert_eq true
00:01:54 verbose #3835 > 00:01:53 debug #252 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/01eeecd32264a6f4cacac63e8f09018a1c8d96fe1fad04f37c9076d14de3fdcf/main.spi
00:01:55 verbose #3836 > >
00:01:55 verbose #3837 > > ╭─[ 1.52s - stdout ]───────────────────────────────────────────────────────────╮
00:01:55 verbose #3838 > > │ 00:00:00 debug #1 1 │
00:01:55 verbose #3839 > > │ 00:00:00 debug #2 2 │
00:01:55 verbose #3840 > > │ 00:00:00 debug #3 execute_with_options_async / options: struct (Some │
00:01:55 verbose #3841 > > │ System.Threading.CancellationToken, │
00:01:55 verbose #3842 > > │ "pwsh -c "Get-Content │
00:01:55 verbose #3843 > > │ /tmp/!dotnet-repl/20240520-1342-1978-7819-7000001feb2b/test.txt"", │
00:01:55 verbose #3844 > > │ [||], None, None, true, None) │
00:01:55 verbose #3845 > > │ 00:00:00 debug #4 3 │
00:01:55 verbose #3846 > > │ 00:00:00 debug #5 4 │
00:01:55 verbose #3847 > > │ 00:00:00 warning #6 execute_with_options_async / WaitForExitAsync / ex: │
00:01:55 verbose #3848 > > │ System.Threading.Tasks.TaskCanceledException: A task was canceled. │
00:01:55 verbose #3849 > > │ 00:00:00 debug #7 execute_with_options_async / exit_code: -2147483648 / │
00:01:55 verbose #3850 > > │ output.Length: 66 │
00:01:55 verbose #3851 > > │ 00:00:00 debug #8 5 │
00:01:55 verbose #3852 > > │ assert_eq / actual: -2147483648 / expected: -2147483648 │
00:01:55 verbose #3853 > > │ assert_eq / actual: "System.Threading.Tasks.TaskCanceledException: A task │
00:01:55 verbose #3854 > > │ was canceled." / expected: "System.Threading.Tasks.TaskCanceledException: A │
00:01:55 verbose #3855 > > │ task was canceled." │
00:01:55 verbose #3856 > > │ assert_eq / actual: true / expected: true │
00:01:55 verbose #3857 > > │ │
00:01:55 verbose #3858 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:55 verbose #3859 > >
00:01:55 verbose #3860 > > ── markdown ────────────────────────────────────────────────────────────────────
00:01:55 verbose #3861 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:01:55 verbose #3862 > > │ ## split_args │
00:01:55 verbose #3863 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:55 verbose #3864 > >
00:01:55 verbose #3865 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:55 verbose #3866 > > union args_parse_step =
00:01:55 verbose #3867 > > | Start
00:01:55 verbose #3868 > > | Quoted : char
00:01:55 verbose #3869 > > | Escaped : u8 * char
00:01:55 verbose #3870 > >
00:01:55 verbose #3871 > > let split_args (args : string) : array_base string =
00:01:55 verbose #3872 > > let rec loop (acc, current) (chars : list char) (step, last) =
00:01:55 verbose #3873 > > // trace Verbose (fun () => $'$"split_args / current: %A{!current}
00:01:55 verbose #3874 > > acc: %A{!acc} / step: %A{!step} / last: %A{!last}"') _locals
00:01:55 verbose #3875 > > match step, last, chars with
00:01:55 verbose #3876 > > | Start, _, ('"' :: tail) =>
00:01:55 verbose #3877 > > loop (acc, "") tail (Quoted '"', step)
00:01:55 verbose #3878 > > | Escaped _, _, (('\\' | '\`') & c :: tail) =>
00:01:55 verbose #3879 > > loop (acc, current) tail (Quoted c, step)
00:01:55 verbose #3880 > > | Escaped _, Start, ('"' :: tail) =>
00:01:55 verbose #3881 > > loop (acc, current) tail (step, step)
00:01:55 verbose #3882 > > | Quoted ('"'), Quoted _, ('"' :: tail) =>
00:01:55 verbose #3883 > > loop (acc, current) tail (Start, step)
00:01:55 verbose #3884 > > | Escaped (0, ('\\' | '\`') & c), Quoted ('"'), (c' :: tail) =>
00:01:55 verbose #3885 > > loop (acc, $'$"{!current}{!c}{!c'}"') tail (Quoted '"', step)
00:01:55 verbose #3886 > > | Quoted (('\\' | '\`') as c), _, ('"' :: tail)
00:01:55 verbose #3887 > > when last <>. Escaped (0, '\\') && last <>. Escaped (0, '\`') =>
00:01:55 verbose #3888 > > loop (acc, $'$"{!current}{!c}\\\""') tail (Quoted '"', step)
00:01:55 verbose #3889 > > | Quoted (('\\' | '\`') as c), Quoted _, ('"' :: tail) =>
00:01:55 verbose #3890 > > loop (acc, $'$"{!current}{!c}\\\""') tail (Quoted '"', step)
00:01:55 verbose #3891 > > | Quoted ('\\' | '\`'), _, ('"' :: tail) =>
00:01:55 verbose #3892 > > loop (acc, current) tail (Start, step)
00:01:55 verbose #3893 > > | Escaped (n, c), _, ('"' :: tail) =>
00:01:55 verbose #3894 > > loop (acc, $'$"{!current}{!c}\\\""') tail (Escaped (n, c), step)
00:01:55 verbose #3895 > > | Quoted _, Quoted _, (('\\' | '\`') & c :: tail) =>
00:01:55 verbose #3896 > > loop (acc, current) tail (Escaped (0, c), step)
00:01:55 verbose #3897 > > | Quoted _, _, (('\\' | '\`') & c :: tail) =>
00:01:55 verbose #3898 > > loop (acc, current) tail (Escaped (1, c), step)
00:01:55 verbose #3899 > > | Quoted _, Escaped (0, _), ('"' :: tail) =>
00:01:55 verbose #3900 > > loop (acc, $'$"{!current}"') tail (Quoted '"', step)
00:01:55 verbose #3901 > > | Quoted _, _, ('"' :: tail) =>
00:01:55 verbose #3902 > > loop (acc ++ [[ current ]], "") tail (Start, step)
00:01:55 verbose #3903 > > | (Escaped _ | Quoted _), _, (' ' :: tail) =>
00:01:55 verbose #3904 > > loop (acc, $'$"{!current} "') tail (step, step)
00:01:55 verbose #3905 > > | _, _, (('\\' | '\`') & c :: tail) =>
00:01:55 verbose #3906 > > loop (acc, current) tail (Escaped (0, c), step)
00:01:55 verbose #3907 > > | _, _, (' ' :: tail) =>
00:01:55 verbose #3908 > > loop ((if current = "" then acc else acc ++ [[ current ]]), "") tail
00:01:55 verbose #3909 > > (step, step)
00:01:55 verbose #3910 > > | Escaped (1, _), _, (char :: tail) when last <>. step =>
00:01:55 verbose #3911 > > loop (acc, $'$"{!current}\\{!char}"') tail (last, step)
00:01:55 verbose #3912 > > | _, _, (char :: tail) =>
00:01:55 verbose #3913 > > loop (acc, $'$"{!current}{!char}"') tail (step, step)
00:01:55 verbose #3914 > > | _ =>
00:01:55 verbose #3915 > > (if current = "" then acc else acc ++ [[ current ]]), current
00:01:55 verbose #3916 > > loop
00:01:55 verbose #3917 > > ([[]], "")
00:01:55 verbose #3918 > > (
00:01:55 verbose #3919 > > args
00:01:55 verbose #3920 > > |> optionm'.of_obj
00:01:55 verbose #3921 > > |> optionm'.unbox
00:01:55 verbose #3922 > > |> optionm'.default_value ""
00:01:55 verbose #3923 > > |> sm'.to_char_array
00:01:55 verbose #3924 > > |> am'.to_list'
00:01:55 verbose #3925 > > |> listm'.unbox
00:01:55 verbose #3926 > > )
00:01:55 verbose #3927 > > (Start, Start)
00:01:55 verbose #3928 > > |> fst
00:01:55 verbose #3929 > > |> listm'.box
00:01:55 verbose #3930 > > |> listm'.to_array'
00:01:55 verbose #3931 > > |> fun (a x : _ i32 _) => x
00:01:55 verbose #3932 > 00:01:55 debug #253 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2959a3b4ae35fab0007a760bf6a715b280528a0f06ed2ee2939c8b193b4c4570/main.spi
00:01:55 verbose #3933 > >
00:01:55 verbose #3934 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:55 verbose #3935 > > //// test
00:01:55 verbose #3936 > >
00:01:55 verbose #3937 > > "a b \"c d\" e"
00:01:55 verbose #3938 > > |> split_args
00:01:55 verbose #3939 > > |> _assert_eq' ;[[ "a"; "b"; "c d"; "e" ]]
00:01:55 verbose #3940 > 00:01:55 debug #254 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/302feb3dfd29025faa36f48ba369e32446028547db3a6e3ae3c40fe3275935bb/main.spi
00:01:56 verbose #3941 > >
00:01:56 verbose #3942 > > ╭─[ 767.40ms - stdout ]────────────────────────────────────────────────────────╮
00:01:56 verbose #3943 > > │ assert_eq' / actual: [|"a"; "b"; "c d"; "e"|] / expected: [|"a"; "b"; "c d"; │
00:01:56 verbose #3944 > > │ "e"|] │
00:01:56 verbose #3945 > > │ │
00:01:56 verbose #3946 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:56 verbose #3947 > >
00:01:56 verbose #3948 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:56 verbose #3949 > > //// test
00:01:56 verbose #3950 > >
00:01:56 verbose #3951 > > "a b e"
00:01:56 verbose #3952 > > |> split_args
00:01:56 verbose #3953 > > |> _assert_eq' ;[[ "a"; "b"; "e" ]]
00:01:56 verbose #3954 > 00:01:56 debug #255 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/be2c1f592c24f42a1e884540d498fc5eb2ccafaa594928dcfc5995909e072b28/main.spi
00:01:57 verbose #3955 > >
00:01:57 verbose #3956 > > ╭─[ 820.96ms - stdout ]────────────────────────────────────────────────────────╮
00:01:57 verbose #3957 > > │ assert_eq' / actual: [|"a"; "b"; "e"|] / expected: [|"a"; "b"; "e"|] │
00:01:57 verbose #3958 > > │ │
00:01:57 verbose #3959 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:57 verbose #3960 > >
00:01:57 verbose #3961 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:57 verbose #3962 > > //// test
00:01:57 verbose #3963 > >
00:01:57 verbose #3964 > > "\"a b\" \"e\" \"f\""
00:01:57 verbose #3965 > > |> split_args
00:01:57 verbose #3966 > > |> _assert_eq' ;[[ "a b"; "e"; "f" ]]
00:01:57 verbose #3967 > 00:01:56 debug #256 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4419dd89606d3ce9a0de04aa94fcbb634c1166206d35d49f923f281efa4d986d/main.spi
00:01:58 verbose #3968 > >
00:01:58 verbose #3969 > > ╭─[ 829.72ms - stdout ]────────────────────────────────────────────────────────╮
00:01:58 verbose #3970 > > │ assert_eq' / actual: [|"a b"; "e"; "f"|] / expected: [|"a b"; "e"; "f"|] │
00:01:58 verbose #3971 > > │ │
00:01:58 verbose #3972 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:58 verbose #3973 > >
00:01:58 verbose #3974 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:58 verbose #3975 > > //// test
00:01:58 verbose #3976 > >
00:01:58 verbose #3977 > > "a -b \"c \\\"d\\\"\""
00:01:58 verbose #3978 > > |> split_args
00:01:58 verbose #3979 > > |> _assert_eq' ;[[ "a"; "-b"; "c \\\"d\\\"" ]]
00:01:58 verbose #3980 > 00:01:57 debug #257 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7e4d327760c2fae5686a5a3e1e28eb366eda8bac470a1ac806d7dc2821e80873/main.spi
00:01:58 verbose #3981 > >
00:01:58 verbose #3982 > > ╭─[ 671.32ms - stdout ]────────────────────────────────────────────────────────╮
00:01:58 verbose #3983 > > │ assert_eq' / actual: [|"a"; "-b"; "c \"d\""|] / expected: [|"a"; "-b"; "c │
00:01:58 verbose #3984 > > │ \"d\""|] │
00:01:58 verbose #3985 > > │ │
00:01:58 verbose #3986 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:58 verbose #3987 > >
00:01:58 verbose #3988 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:58 verbose #3989 > > //// test
00:01:58 verbose #3990 > >
00:01:58 verbose #3991 > > "a -b \"c \\\"d\\\" e\""
00:01:58 verbose #3992 > > |> split_args
00:01:58 verbose #3993 > > |> _assert_eq' ;[[ "a"; "-b"; "c \\\"d\\\" e" ]]
00:01:58 verbose #3994 > 00:01:58 debug #258 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/47fd5eb56dc0838c12c6ea4801d7c17ab1b40106adc53250c3e50c6ba157616d/main.spi
00:01:59 verbose #3995 > >
00:01:59 verbose #3996 > > ╭─[ 619.12ms - stdout ]────────────────────────────────────────────────────────╮
00:01:59 verbose #3997 > > │ assert_eq' / actual: [|"a"; "-b"; "c \"d\" e"|] / expected: [|"a"; "-b"; "c │
00:01:59 verbose #3998 > > │ \"d\" e"|] │
00:01:59 verbose #3999 > > │ │
00:01:59 verbose #4000 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:01:59 verbose #4001 > >
00:01:59 verbose #4002 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:01:59 verbose #4003 > > //// test
00:01:59 verbose #4004 > >
00:01:59 verbose #4005 > > "a -b \"c \`\"d\`\" e\""
00:01:59 verbose #4006 > > |> split_args
00:01:59 verbose #4007 > > |> _assert_eq' ;[[ "a"; "-b"; "c \`\"d\`\" e" ]]
00:01:59 verbose #4008 > 00:01:59 debug #259 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fc26b6a12914d67ffe74166de31ea2837bf57ac3e1857ad9ff02b1dc0542b7fa/main.spi
00:02:00 verbose #4009 > >
00:02:00 verbose #4010 > > ╭─[ 592.96ms - stdout ]────────────────────────────────────────────────────────╮
00:02:00 verbose #4011 > > │ assert_eq' / actual: [|"a"; "-b"; "c `"d`" e"|] / expected: [|"a"; "-b"; "c │
00:02:00 verbose #4012 > > │ `"d`" e"|] │
00:02:00 verbose #4013 > > │ │
00:02:00 verbose #4014 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:00 verbose #4015 > >
00:02:00 verbose #4016 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:00 verbose #4017 > > //// test
00:02:00 verbose #4018 > >
00:02:00 verbose #4019 > > $'$"--text \\\\\\"\'\'\' value \'\'\'\\\\\\" "'
00:02:00 verbose #4020 > > |> split_args
00:02:00 verbose #4021 > > |> _assert_eq' ;[[ "--text"; "''' value '''" ]]
00:02:00 verbose #4022 > 00:01:59 debug #260 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9b0cd2d7114eb537c564e3db0add2055244a02e1e838be771642daf591832055/main.spi
00:02:00 verbose #4023 > >
00:02:00 verbose #4024 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:00 verbose #4025 > > ╭─[ 208.25ms - diagnostics ]───────────────────────────────────────────────────╮
00:02:00 verbose #4026 > > │ (0,1)-(0,1) typecheck error Eval.eval / fsi_eval error / fsxPath: │
00:02:00 verbose #4027 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9b0 │
00:02:00 verbose #4028 > > │ cd2d7114eb537c564e3db0add2055244a02e1e838be771642daf591832055/main.fsx / │
00:02:00 verbose #4029 > > │ builderArgs: [||] / code: type UH0 = │
00:02:00 verbose #4030 > > │ | UH0_0 │
00:02:00 verbose #4031 > > │ | UH0_1 of string * UH0 │
00:02:00 verbose #4032 > > │ and [<Struct>] US0 = │
00:02:00 verbose #4033 > > │ | US0_0 of f0_0 : string │
00:02:00 verbose #4034 > > │ | US0_1 │
00:02:00 verbose #4035 > > │ and Mut0 = {mutable l0 : int32} │
00:02:00 verbose #4036 > > │ and UH1 = │
00:02:00 verbose #4037 > > │ | UH1_0 │
00:02:00 verbose #4038 > > │ | UH1_1 of char * UH1 │
00:02:00 verbose #4039 > > │ and [<Struct>] US1 = │
00:02:00 verbose #4040 > > │ | US1_0 │
00:02:00 verbose #4041 > > │ | US1_1 of f1_0 : char │
00:02:00 verbose #4042 > > │ | US1_2 of f2_0 : uint8 * f2_1 : char │
00:02:00 verbose #4043 > > │ let rec method2 (v0 : int32, v1 : Mut0) : bool = │
00:02:00 verbose #4044 > > │ let v2 : int32 = v1.l0 │
00:02:00 verbose #4045 > > │ let v3 : bool = v2 < v0 │
00:02:00 verbose #4046 > > │ v3 │
00:02:00 verbose #4047 > > │ and closure1 (v0 : char) (v1 : UH1) : UH1 = │
00:02:00 verbose #4048 > > │ UH1_1(v0, v1) │
00:02:00 verbose #4049 > > │ and closure0 () (v0 : char) : (UH1 -> UH1) = │
00:02:00 verbose #4050 > > │ closure1(v0) │
00:02:00 verbose #4051 > > │ and method3 () : (char -> (UH1 -> UH1)) = │
00:02:00 verbose #4052 > > │ closure0() │
00:02:00 verbose #4053 > > │ and method6 (v0 : UH0, v1 : UH0) : UH0 = │
00:02:00 verbose #4054 > > │ match v0 with │
00:02:00 verbose #4055 > > │ | UH0_1(v2, v3) -> (* Cons *) │
00:02:00 verbose #4056 > > │ let v4 : UH0 = method6(v3, v1) │
00:02:00 verbose #4057 > > │ UH0_1(v2, v4) │
00:02:00 verbose #4058 > > │ | UH0_0 -> (* Nil *) │
00:02:00 verbose #4059 > > │ v1 │
00:02:00 verbose #4060 > > │ and method5 (v0 : string, v1 : UH0, v2 : UH1, v3 : US1) : struct (UH0 * │
00:02:00 verbose #4061 > > │ string) = │
00:02:00 verbose #4062 > > │ match v3 with │
00:02:00 verbose #4063 > > │ | US1_2(v51, v52) -> (* Escaped *) │
00:02:00 verbose #4064 > > │ match v2 with │
00:02:00 verbose #4065 > > │ | UH1_1(v53, v54) -> (* Cons *) │
00:02:00 verbose #4066 > > │ let v55 : bool = '\\' = v53 │
00:02:00 verbose #4067 > > │ if v55 then │
00:02:00 verbose #4068 > > │ let v56 : US1 = US1_1(v53) │
00:02:00 verbose #4069 > > │ method4(v0, v1, v54, v3, v56) │
00:02:00 verbose #4070 > > │ else │
00:02:00 verbose #4071 > > │ let v59 : bool = '`' = v53 │
00:02:00 verbose #4072 > > │ if v59 then │
00:02:00 verbose #4073 > > │ let v60 : US1 = US1_1(v53) │
00:02:00 verbose #4074 > > │ method4(v0, v1, v54, v3, v60) │
00:02:00 verbose #4075 > > │ else │
00:02:00 verbose #4076 > > │ let v63 : bool = 0uy = v51 │
00:02:00 verbose #4077 > > │ if v63 then │
00:02:00 verbose #4078 > > │ let v64 : bool = '\\' = v52 │
00:02:00 verbose #4079 > > │ if v64 then │
00:02:00 verbose #4080 > > │ let v65 : bool = '"' = v53 │
00:02:00 verbose #4081 > > │ if v65 then │
00:02:00 verbose #4082 > > │ let v66 : string = $"{v0}{v52}\"" │
00:02:00 verbose #4083 > > │ let v67 : US1 = US1_2(v51, v52) │
00:02:00 verbose #4084 > > │ method4(v66, v1, v54, v3, v67) │
00:02:00 verbose #4085 > > │ else │
00:02:00 verbose #4086 > > │ let v70 : bool = ' ' = v53 │
00:02:00 verbose #4087 > > │ if v70 then │
00:02:00 verbose #4088 > > │ let v71 : string = $"{v0} " │
00:02:00 verbose #4089 > > │ method5(v71, v1, v54, v3) │
00:02:00 verbose #4090 > > │ else │
00:02:00 verbose #4091 > > │ let v74 : bool = 1uy = v51 │
00:02:00 verbose #4092 > > │ if v74 then │
00:02:00 verbose #4093 > > │ let v75 : bool = v3 <> v3 │
00:02:00 verbose #4094 > > │ if v75 then │
00:02:00 verbose #4095 > > │ let v76 : string = $"{v0}\{v53}" │
00:02:00 verbose #4096 > > │ method5(v76, v1, v54, v3) │
00:02:00 verbose #4097 > > │ else │
00:02:00 verbose #4098 > > │ let v79 : string = $"{v0}{v53}" │
00:02:00 verbose #4099 > > │ method5(v79, v1, v54, v3) │
00:02:00 verbose #4100 > > │ else │
00:02:00 verbose #4101 > > │ let v84 : string = $"{v0}{v53}" │
00:02:00 verbose #4102 > > │ method5(v84, v1, v54, v3) │
00:02:00 verbose #4103 > > │ else │
00:02:00 verbose #4104 > > │ let v93 : bool = '`' = v52 │
00:02:00 verbose #4105 > > │ if v93 then │
00:02:00 verbose #4106 > > │ let v94 : bool = '"' = v53 │
00:02:00 verbose #4107 > > │ if v94 then │
00:02:00 verbose #4108 > > │ let v95 : string = $"{v0}{v52}\"" │
00:02:00 verbose #4109 > > │ let v96 : US1 = US1_2(v51, v52) │
00:02:00 verbose #4110 > > │ method4(v95, v1, v54, v3, v96) │
00:02:00 verbose #4111 > > │ else │
00:02:00 verbose #4112 > > │ let v99 : bool = ' ' = v53 │
00:02:00 verbose #4113 > > │ if v99 then │
00:02:00 verbose #4114 > > │ let v100 : string = $"{v0} " │
00:02:00 verbose #4115 > > │ method5(v100, v1, v54, v3) │
00:02:00 verbose #4116 > > │ else │
00:02:00 verbose #4117 > > │ let v103 : bool = 1uy = v51 │
00:02:00 verbose #4118 > > │ if v103 then │
00:02:00 verbose #4119 > > │ let v104 : bool = v3 <> v3 │
00:02:00 verbose #4120 > > │ if v104 then │
00:02:00 verbose #4121 > > │ let v105 : string = │
00:02:00 verbose #4122 > > │ $"{v0}\{v53}" │
00:02:00 verbose #4123 > > │ method5(v105, v1, v54, v3) │
00:02:00 verbose #4124 > > │ else │
00:02:00 verbose #4125 > > │ let v108 : string = │
00:02:00 verbose #4126 > > │ $"{v0}{v53}" │
00:02:00 verbose #4127 > > │ method5(v108, v1, v54, v3) │
00:02:00 verbose #4128 > > │ else │
00:02:00 verbose #4129 > > │ let v113 : string = $"{v0}{v53}" │
00:02:00 verbose #4130 > > │ method5(v113, v1, v54, v3) │
00:02:00 verbose #4131 > > │ else │
00:02:00 verbose #4132 > > │ let v122 : bool = '"' = v53 │
00:02:00 verbose #4133 > > │ if v122 then │
00:02:00 verbose #4134 > > │ let v123 : string = $"{v0}{v52}\"" │
00:02:00 verbose #4135 > > │ let v124 : US1 = US1_2(v51, v52) │
00:02:00 verbose #4136 > > │ method4(v123, v1, v54, v3, v124) │
00:02:00 verbose #4137 > > │ else │
00:02:00 verbose #4138 > > │ let v127 : bool = ' ' = v53 │
00:02:00 verbose #4139 > > │ if v127 then │
00:02:00 verbose #4140 > > │ let v128 : string = $"{v0} " │
00:02:00 verbose #4141 > > │ method5(v128, v1, v54, v3) │
00:02:00 verbose #4142 > > │ else │
00:02:00 verbose #4143 > > │ let v131 : bool = 1uy = v51 │
00:02:00 verbose #4144 > > │ if v131 then │
00:02:00 verbose #4145 > > │ let v132 : bool = v3 <> v3 │
00:02:00 verbose #4146 > > │ if v132 then │
00:02:00 verbose #4147 > > │ let v133 : string = │
00:02:00 verbose #4148 > > │ $"{v0}\{v53}" │
00:02:00 verbose #4149 > > │ method5(v133, v1, v54, v3) │
00:02:00 verbose #4150 > > │ else │
00:02:00 verbose #4151 > > │ let v136 : string = │
00:02:00 verbose #4152 > > │ $"{v0}{v53}" │
00:02:00 verbose #4153 > > │ method5(v136, v1, v54, v3) │
00:02:00 verbose #4154 > > │ else │
00:02:00 verbose #4155 > > │ let v141 : string = $"{v0}{v53}" │
00:02:00 verbose #4156 > > │ method5(v141, v1, v54, v3) │
00:02:00 verbose #4157 > > │ else │
00:02:00 verbose #4158 > > │ let v154 : bool = '"' = v53 │
00:02:00 verbose #4159 > > │ if v154 then │
00:02:00 verbose #4160 > > │ let v155 : string = $"{v0}{v52}\"" │
00:02:00 verbose #4161 > > │ let v156 : US1 = US1_2(v51, v52) │
00:02:00 verbose #4162 > > │ method4(v155, v1, v54, v3, v156) │
00:02:00 verbose #4163 > > │ else │
00:02:00 verbose #4164 > > │ let v159 : bool = ' ' = v53 │
00:02:00 verbose #4165 > > │ if v159 then │
00:02:00 verbose #4166 > > │ let v160 : string = $"{v0} " │
00:02:00 verbose #4167 > > │ method5(v160, v1, v54, v3) │
00:02:00 verbose #4168 > > │ else │
00:02:00 verbose #4169 > > │ let v163 : bool = 1uy = v51 │
00:02:00 verbose #4170 > > │ if v163 then │
00:02:00 verbose #4171 > > │ let v164 : bool = v3 <> v3 │
00:02:00 verbose #4172 > > │ if v164 then │
00:02:00 verbose #4173 > > │ let v165 : string = $"{v0}\{v53}" │
00:02:00 verbose #4174 > > │ method5(v165, v1, v54, v3) │
00:02:00 verbose #4175 > > │ else │
00:02:00 verbose #4176 > > │ let v168 : string = $"{v0}{v53}" │
00:02:00 verbose #4177 > > │ method5(v168, v1, v54, v3) │
00:02:00 verbose #4178 > > │ else │
00:02:00 verbose #4179 > > │ let v173 : string = $"{v0}{v53}" │
00:02:00 verbose #4180 > > │ method5(v173, v1, v54, v3) │
00:02:00 verbose #4181 > > │ | _ -> │
00:02:00 verbose #4182 > > │ let v188 : bool = 0uy = v51 │
00:02:00 verbose #4183 > > │ if v188 then │
00:02:00 verbose #4184 > > │ let v189 : bool = '\\' = v52 │
00:02:00 verbose #4185 > > │ if v189 then │
00:02:00 verbose #4186 > > │ let v190 : bool = 1uy = v51 │
00:02:00 verbose #4187 > > │ if v190 then │
00:02:00 verbose #4188 > > │ let v192 : bool = v0 = "" │
00:02:00 verbose #4189 > > │ let v196 : UH0 = │
00:02:00 verbose #4190 > > │ if v192 then │
00:02:00 verbose #4191 > > │ v1 │
00:02:00 verbose #4192 > > │ else │
00:02:00 verbose #4193 > > │ let v193 : UH0 = UH0_0 │
00:02:00 verbose #4194 > > │ let v194 : UH0 = UH0_1(v0, v193) │
00:02:00 verbose #4195 > > │ method6(v1, v194) │
00:02:00 verbose #4196 > > │ struct (v196, v0) │
00:02:00 verbose #4197 > > │ else │
00:02:00 verbose #4198 > > │ let v198 : bool = v0 = "" │
00:02:00 verbose #4199 > > │ let v202 : UH0 = │
00:02:00 verbose #4200 > > │ if v198 then │
00:02:00 verbose #4201 > > │ v1 │
00:02:00 verbose #4202 > > │ else │
00:02:00 verbose #4203 > > │ let v199 : UH0 = UH0_0 │
00:02:00 verbose #4204 > > │ let v200 : UH0 = UH0_1(v0, v199) │
00:02:00 verbose #4205 > > │ method6(v1, v200) │
00:02:00 verbose #4206 > > │ struct (v202, v0) │
00:02:00 verbose #4207 > > │ else │
00:02:00 verbose #4208 > > │ let v205 : bool = '`' = v52 │
00:02:00 verbose #4209 > > │ if v205 then │
00:02:00 verbose #4210 > > │ let v206 : bool = 1uy = v51 │
00:02:00 verbose #4211 > > │ if v206 then │
00:02:00 verbose #4212 > > │ let v208 : bool = v0 = "" │
00:02:00 verbose #4213 > > │ let v212 : UH0 = │
00:02:00 verbose #4214 > > │ if v208 then │
00:02:00 verbose #4215 > > │ v1 │
00:02:00 verbose #4216 > > │ else │
00:02:00 verbose #4217 > > │ let v209 : UH0 = UH0_0 │
00:02:00 verbose #4218 > > │ let v210 : UH0 = UH0_1(v0, v209) │
00:02:00 verbose #4219 > > │ method6(v1, v210) │
00:02:00 verbose #4220 > > │ struct (v212, v0) │
00:02:00 verbose #4221 > > │ else │
00:02:00 verbose #4222 > > │ let v214 : bool = v0 = "" │
00:02:00 verbose #4223 > > │ let v218 : UH0 = │
00:02:00 verbose #4224 > > │ if v214 then │
00:02:00 verbose #4225 > > │ v1 │
00:02:00 verbose #4226 > > │ else │
00:02:00 verbose #4227 > > │ let v215 : UH0 = UH0_0 │
00:02:00 verbose #4228 > > │ let v216 : UH0 = UH0_1(v0, v215) │
00:02:00 verbose #4229 > > │ method6(v1, v216) │
00:02:00 verbose #4230 > > │ struct (v218, v0) │
00:02:00 verbose #4231 > > │ else │
00:02:00 verbose #4232 > > │ let v221 : bool = 1uy = v51 │
00:02:00 verbose #4233 > > │ if v221 then │
00:02:00 verbose #4234 > > │ let v223 : bool = v0 = "" │
00:02:00 verbose #4235 > > │ let v227 : UH0 = │
00:02:00 verbose #4236 > > │ if v223 then │
00:02:00 verbose #4237 > > │ v1 │
00:02:00 verbose #4238 > > │ else │
00:02:00 verbose #4239 > > │ let v224 : UH0 = UH0_0 │
00:02:00 verbose #4240 > > │ let v225 : UH0 = UH0_1(v0, v224) │
00:02:00 verbose #4241 > > │ method6(v1, v225) │
00:02:00 verbose #4242 > > │ struct (v227, v0) │
00:02:00 verbose #4243 > > │ else │
00:02:00 verbose #4244 > > │ let v229 : bool = v0 = "" │
00:02:00 verbose #4245 > > │ let v233 : UH0 = │
00:02:00 verbose #4246 > > │ if v229 then │
00:02:00 verbose #4247 > > │ v1 │
00:02:00 verbose #4248 > > │ else │
00:02:00 verbose #4249 > > │ let v230 : UH0 = UH0_0 │
00:02:00 verbose #4250 > > │ let v231 : UH0 = UH0_1(v0, v230) │
00:02:00 verbose #4251 > > │ method6(v1, v231) │
00:02:00 verbose #4252 > > │ struct (v233, v0) │
00:02:00 verbose #4253 > > │ else │
00:02:00 verbose #4254 > > │ let v240 : bool = 1uy = v51 │
00:02:00 verbose #4255 > > │ if v240 then │
00:02:00 verbose #4256 > > │ let v242 : bool = v0 = "" │
00:02:00 verbose #4257 > > │ let v246 : UH0 = │
00:02:00 verbose #4258 > > │ if v242 then │
00:02:00 verbose #4259 > > │ v1 │
00:02:00 verbose #4260 > > │ else │
00:02:00 verbose #4261 > > │ let v243 : UH0 = UH0_0 │
00:02:00 verbose #4262 > > │ let v244 : UH0 = UH0_1(v0, v243) │
00:02:00 verbose #4263 > > │ method6(v1, v244) │
00:02:00 verbose #4264 > > │ struct (v246, v0) │
00:02:00 verbose #4265 > > │ else │
00:02:00 verbose #4266 > > │ let v248 : bool = v0 = "" │
00:02:00 verbose #4267 > > │ let v252 : UH0 = │
00:02:00 verbose #4268 > > │ if v248 then │
00:02:00 verbose #4269 > > │ v1 │
00:02:00 verbose #4270 > > │ else │
00:02:00 verbose #4271 > > │ let v249 : UH0 = UH0_0 │
00:02:00 verbose #4272 > > │ let v250 : UH0 = UH0_1(v0, v249) │
00:02:00 verbose #4273 > > │ method6(v1, v250) │
00:02:00 verbose #4274 > > │ struct (v252, v0) │
00:02:00 verbose #4275 > > │ | US1_1(v259) -> (* Quoted *) │
00:02:00 verbose #4276 > > │ let v260 : bool = '"' = v259 │
00:02:00 verbose #4277 > > │ if v260 then │
00:02:00 verbose #4278 > > │ match v2 with │
00:02:00 verbose #4279 > > │ | UH1_1(v261, v262) -> (* Cons *) │
00:02:00 verbose #4280 > > │ let v263 : bool = '"' = v261 │
00:02:00 verbose #4281 > > │ if v263 then │
00:02:00 verbose #4282 > > │ let v264 : US1 = US1_0 │
00:02:00 verbose #4283 > > │ method4(v0, v1, v262, v3, v264) │
00:02:00 verbose #4284 > > │ else │
00:02:00 verbose #4285 > > │ let v267 : bool = '\\' = v259 │
00:02:00 verbose #4286 > > │ if v267 then │
00:02:00 verbose #4287 > > │ let v268 : bool = '\\' = v261 │
00:02:00 verbose #4288 > > │ if v268 then │
00:02:00 verbose #4289 > > │ let v269 : uint8 = 0uy │
00:02:00 verbose #4290 > > │ let v270 : US1 = US1_2(v269, v261) │
00:02:00 verbose #4291 > > │ method4(v0, v1, v262, v3, v270) │
00:02:00 verbose #4292 > > │ else │
00:02:00 verbose #4293 > > │ let v273 : bool = '`' = v261 │
00:02:00 verbose #4294 > > │ if v273 then │
00:02:00 verbose #4295 > > │ let v274 : uint8 = 0uy │
00:02:00 verbose #4296 > > │ let v275 : US1 = US1_2(v274, v261) │
00:02:00 verbose #4297 > > │ method4(v0, v1, v262, v3, v275) │
00:02:00 verbose #4298 > > │ else │
00:02:00 verbose #4299 > > │ let v278 : bool = ' ' = v261 │
00:02:00 verbose #4300 > > │ if v278 then │
00:02:00 verbose #4301 > > │ let v279 : string = $"{v0} " │
00:02:00 verbose #4302 > > │ method5(v279, v1, v262, v3) │
00:02:00 verbose #4303 > > │ else │
00:02:00 verbose #4304 > > │ let v282 : string = $"{v0}{v261}" │
00:02:00 verbose #4305 > > │ method5(v282, v1, v262, v3) │
00:02:00 verbose #4306 > > │ else │
00:02:00 verbose #4307 > > │ let v291 : bool = '`' = v259 │
00:02:00 verbose #4308 > > │ if v291 then │
00:02:00 verbose #4309 > > │ let v292 : bool = '\\' = v261 │
00:02:00 verbose #4310 > > │ if v292 then │
00:02:00 verbose #4311 > > │ let v293 : uint8 = 0uy │
00:02:00 verbose #4312 > > │ let v294 : US1 = US1_2(v293, v261) │
00:02:00 verbose #4313 > > │ method4(v0, v1, v262, v3, v294) │
00:02:00 verbose #4314 > > │ else │
00:02:00 verbose #4315 > > │ let v297 : bool = '`' = v261 │
00:02:00 verbose #4316 > > │ if v297 then │
00:02:00 verbose #4317 > > │ let v298 : uint8 = 0uy │
00:02:00 verbose #4318 > > │ let v299 : US1 = US1_2(v298, v261) │
00:02:00 verbose #4319 > > │ method4(v0, v1, v262, v3, v299) │
00:02:00 verbose #4320 > > │ else │
00:02:00 verbose #4321 > > │ let v302 : bool = ' ' = v261 │
00:02:00 verbose #4322 > > │ if v302 then │
00:02:00 verbose #4323 > > │ let v303 : string = $"{v0} " │
00:02:00 verbose #4324 > > │ method5(v303, v1, v262, v3) │
00:02:00 verbose #4325 > > │ else │
00:02:00 verbose #4326 > > │ let v306 : string = $"{v0}{v261}" │
00:02:00 verbose #4327 > > │ method5(v306, v1, v262, v3) │
00:02:00 verbose #4328 > > │ else │
00:02:00 verbose #4329 > > │ let v315 : bool = '\\' = v261 │
00:02:00 verbose #4330 > > │ if v315 then │
00:02:00 verbose #4331 > > │ let v316 : uint8 = 0uy │
00:02:00 verbose #4332 > > │ let v317 : US1 = US1_2(v316, v261) │
00:02:00 verbose #4333 > > │ method4(v0, v1, v262, v3, v317) │
00:02:00 verbose #4334 > > │ else │
00:02:00 verbose #4335 > > │ let v320 : bool = '`' = v261 │
00:02:00 verbose #4336 > > │ if v320 then │
00:02:00 verbose #4337 > > │ let v321 : uint8 = 0uy │
00:02:00 verbose #4338 > > │ let v322 : US1 = US1_2(v321, v261) │
00:02:00 verbose #4339 > > │ method4(v0, v1, v262, v3, v322) │
00:02:00 verbose #4340 > > │ else │
00:02:00 verbose #4341 > > │ let v325 : bool = ' ' = v261 │
00:02:00 verbose #4342 > > │ if v325 then │
00:02:00 verbose #4343 > > │ let v326 : string = $"{v0} " │
00:02:00 verbose #4344 > > │ method5(v326, v1, v262, v3) │
00:02:00 verbose #4345 > > │ else │
00:02:00 verbose #4346 > > │ let v329 : string = $"{v0}{v261}" │
00:02:00 verbose #4347 > > │ method5(v329, v1, v262, v3) │
00:02:00 verbose #4348 > > │ | _ -> │
00:02:00 verbose #4349 > > │ let v344 : bool = '\\' = v259 │
00:02:00 verbose #4350 > > │ if v344 then │
00:02:00 verbose #4351 > > │ let v346 : bool = v0 = "" │
00:02:00 verbose #4352 > > │ let v350 : UH0 = │
00:02:00 verbose #4353 > > │ if v346 then │
00:02:00 verbose #4354 > > │ v1 │
00:02:00 verbose #4355 > > │ else │
00:02:00 verbose #4356 > > │ let v347 : UH0 = UH0_0 │
00:02:00 verbose #4357 > > │ let v348 : UH0 = UH0_1(v0, v347) │
00:02:00 verbose #4358 > > │ method6(v1, v348) │
00:02:00 verbose #4359 > > │ struct (v350, v0) │
00:02:00 verbose #4360 > > │ else │
00:02:00 verbose #4361 > > │ let v351 : bool = '`' = v259 │
00:02:00 verbose #4362 > > │ if v351 then │
00:02:00 verbose #4363 > > │ let v353 : bool = v0 = "" │
00:02:00 verbose #4364 > > │ let v357 : UH0 = │
00:02:00 verbose #4365 > > │ if v353 then │
00:02:00 verbose #4366 > > │ v1 │
00:02:00 verbose #4367 > > │ else │
00:02:00 verbose #4368 > > │ let v354 : UH0 = UH0_0 │
00:02:00 verbose #4369 > > │ let v355 : UH0 = UH0_1(v0, v354) │
00:02:00 verbose #4370 > > │ method6(v1, v355) │
00:02:00 verbose #4371 > > │ struct (v357, v0) │
00:02:00 verbose #4372 > > │ else │
00:02:00 verbose #4373 > > │ let v359 : bool = v0 = "" │
00:02:00 verbose #4374 > > │ let v363 : UH0 = │
00:02:00 verbose #4375 > > │ if v359 then │
00:02:00 verbose #4376 > > │ v1 │
00:02:00 verbose #4377 > > │ else │
00:02:00 verbose #4378 > > │ let v360 : UH0 = UH0_0 │
00:02:00 verbose #4379 > > │ let v361 : UH0 = UH0_1(v0, v360) │
00:02:00 verbose #4380 > > │ │
00:02:00 verbose #4381 > > │ (0,1)-(0,1) typecheck error The block following this 'let' is unfinished. │
00:02:00 verbose #4382 > > │ Every code block is an expression and must have a result. 'let' cannot be │
00:02:00 verbose #4383 > > │ the final code element in a block. Consider giving this block an explicit │
00:02:00 verbose #4384 > > │ result. │
00:02:00 verbose #4385 > > │ (0,1)-(0,1) typecheck error The block following this 'let' is unfinished. │
00:02:00 verbose #4386 > > │ Every code block is an expression and must have a result. 'let' cannot be │
00:02:00 verbose #4387 > > │ the final code element in a block. Consider giving this block an explicit │
00:02:00 verbose #4388 > > │ result. │
00:02:00 verbose #4389 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:00 verbose #4390 > >
00:02:00 verbose #4391 > > ╭─[ 215.15ms - stderr ]────────────────────────────────────────────────────────╮
00:02:00 verbose #4392 > > │ Stopped due to error │
00:02:00 verbose #4393 > > │ │
00:02:00 verbose #4394 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:00 verbose #4395 > > Exiting...
00:02:02 verbose #4396 > 00:00:18 verbose #3 runtime.execute_with_options / result / exit_code: 137 / std_trace.Length: 84650
00:02:02 verbose #4397 > 00:00:18 debug #4 spiral_builder.run / repl error / exit_code: 137 / retry: 1/3 / repl_result:
00:02:02 verbose #4398 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4399 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4400 > │ # runtime │
00:02:02 verbose #4401 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4402 >
00:02:02 verbose #4403 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4404 > open rust_operators
00:02:02 verbose #4405 > open sm'_operators
00:02:02 verbose #4406 >
00:02:02 verbose #4407 > ── spiral - import ─────────────────────────────────────────────────────────────
00:02:02 verbose #4408 > #r
00:02:02 verbose #4409 > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:02:02 verbose #4410 > Net.Interactive.Spiral.dll"
00:02:02 verbose #4411 > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:02:02 verbose #4412 > #r
00:02:02 verbose #4413 > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:02:02 verbose #4414 > Net.Interactive.dll"
00:02:02 verbose #4415 > open type Microsoft.DotNet.Interactive.Kernel
00:02:02 verbose #4416 >
00:02:02 verbose #4417 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4418 > //// test
00:02:02 verbose #4419 >
00:02:02 verbose #4420 > open testing
00:02:02 verbose #4421 > open file_system_operators
00:02:02 verbose #4422 >
00:02:02 verbose #4423 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4424 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4425 > │ ## types │
00:02:02 verbose #4426 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4427 >
00:02:02 verbose #4428 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4429 > inl types () =
00:02:02 verbose #4430 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4431 > Fable.Core.Emit(\"clap::Arg\")>]]\n#endif\ntype clap_Arg = class end"
00:02:02 verbose #4432 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4433 > Fable.Core.Emit(\"clap::ArgAction\")>]]\n#endif\ntype clap_ArgAction = class
00:02:02 verbose #4434 > end"
00:02:02 verbose #4435 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4436 > Fable.Core.Emit(\"clap::Command\")>]]\n#endif\ntype clap_Command = class end"
00:02:02 verbose #4437 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4438 > Fable.Core.Emit(\"clap::ArgMatches\")>]]\n#endif\ntype clap_ArgMatches = class
00:02:02 verbose #4439 > end"
00:02:02 verbose #4440 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4441 > Fable.Core.Emit(\"clap::builder::ValueRange\")>]]\n#endif\ntype
00:02:02 verbose #4442 > clap_builder_ValueRange = class end"
00:02:02 verbose #4443 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4444 > Fable.Core.Emit(\"clap::builder::ValueParser\")>]]\n#endif\ntype
00:02:02 verbose #4445 > clap_builder_ValueParser = class end"
00:02:02 verbose #4446 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4447 > Fable.Core.Emit(\"clap::builder::PossibleValue\")>]]\n#endif\ntype
00:02:02 verbose #4448 > clap_builder_PossibleValue = class end"
00:02:02 verbose #4449 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4450 > Fable.Core.Emit(\"std::process::Child\")>]]\n#endif\ntype std_process_Child =
00:02:02 verbose #4451 > class end"
00:02:02 verbose #4452 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4453 > Fable.Core.Emit(\"std::process::ChildStderr\")>]]\n#endif\ntype
00:02:02 verbose #4454 > std_process_ChildStderr = class end"
00:02:02 verbose #4455 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4456 > Fable.Core.Emit(\"std::process::ChildStdout\")>]]\n#endif\ntype
00:02:02 verbose #4457 > std_process_ChildStdout = class end"
00:02:02 verbose #4458 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4459 > Fable.Core.Emit(\"std::process::ChildStdin\")>]]\n#endif\ntype
00:02:02 verbose #4460 > std_process_ChildStdin = class end"
00:02:02 verbose #4461 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4462 > Fable.Core.Emit(\"std::process::Command\")>]]\n#endif\ntype std_process_Command
00:02:02 verbose #4463 > = class end"
00:02:02 verbose #4464 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4465 > Fable.Core.Emit(\"std::process::ExitStatus\")>]]\n#endif\ntype
00:02:02 verbose #4466 > std_process_ExitStatus = class end"
00:02:02 verbose #4467 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4468 > Fable.Core.Emit(\"std::process::Output\")>]]\n#endif\ntype std_process_Output =
00:02:02 verbose #4469 > class end"
00:02:02 verbose #4470 > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:02 verbose #4471 > Fable.Core.Emit(\"std::process::Stdio\")>]]\n#endif\ntype std_process_Stdio =
00:02:02 verbose #4472 > class end"
00:02:02 verbose #4473 >
00:02:02 verbose #4474 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4475 > inl types () =
00:02:02 verbose #4476 > types ()
00:02:02 verbose #4477 > am'.types ()
00:02:02 verbose #4478 > async.types ()
00:02:02 verbose #4479 > env.types ()
00:02:02 verbose #4480 > rust.types ()
00:02:02 verbose #4481 > seq.types ()
00:02:02 verbose #4482 > sm'.types ()
00:02:02 verbose #4483 > threading.types ()
00:02:02 verbose #4484 >
00:02:02 verbose #4485 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4486 > //// test
00:02:02 verbose #4487 >
00:02:02 verbose #4488 > inl types () =
00:02:02 verbose #4489 > file_system.types ()
00:02:02 verbose #4490 > types ()
00:02:02 verbose #4491 >
00:02:02 verbose #4492 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4493 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4494 > │ ## process_child │
00:02:02 verbose #4495 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4496 >
00:02:02 verbose #4497 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4498 > nominal process_child = $'std_process_Child'
00:02:02 verbose #4499 >
00:02:02 verbose #4500 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4501 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4502 > │ ## process_child_stderr │
00:02:02 verbose #4503 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4504 >
00:02:02 verbose #4505 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4506 > nominal process_child_stderr = $"std_process_ChildStderr"
00:02:02 verbose #4507 >
00:02:02 verbose #4508 > inl process_child_stderr (child : rust.ref' (rust.mut' process_child)) :
00:02:02 verbose #4509 > rust.ref' (rust.mut' (optionm'.option' process_child_stderr)) =
00:02:02 verbose #4510 > !\\(child, $'"&mut $0.stderr"')
00:02:02 verbose #4511 >
00:02:02 verbose #4512 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4513 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4514 > │ ## process_child_stdout │
00:02:02 verbose #4515 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4516 >
00:02:02 verbose #4517 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4518 > nominal process_child_stdout = $"std_process_ChildStdout"
00:02:02 verbose #4519 >
00:02:02 verbose #4520 > inl process_child_stdout (child : rust.ref' (rust.mut' process_child)) :
00:02:02 verbose #4521 > rust.ref' (rust.mut' (optionm'.option' process_child_stdout)) =
00:02:02 verbose #4522 > !\\(child, $'"&mut $0.stdout"')
00:02:02 verbose #4523 >
00:02:02 verbose #4524 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4525 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4526 > │ ## process_child_stdin │
00:02:02 verbose #4527 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4528 >
00:02:02 verbose #4529 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4530 > nominal process_child_stdin = $"std_process_ChildStdin"
00:02:02 verbose #4531 >
00:02:02 verbose #4532 > inl process_child_stdin (child : rust.ref' (rust.mut' process_child)) :
00:02:02 verbose #4533 > rust.ref' (rust.mut' (optionm'.option' process_child_stdin)) =
00:02:02 verbose #4534 > !\\(child, $'"&mut $0.stdin"')
00:02:02 verbose #4535 >
00:02:02 verbose #4536 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4537 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4538 > │ ## process_command │
00:02:02 verbose #4539 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4540 >
00:02:02 verbose #4541 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4542 > nominal process_command = $'std_process_Command'
00:02:02 verbose #4543 >
00:02:02 verbose #4544 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4545 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4546 > │ ## process_stdio │
00:02:02 verbose #4547 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4548 >
00:02:02 verbose #4549 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4550 > nominal process_stdio = $'std_process_Stdio'
00:02:02 verbose #4551 >
00:02:02 verbose #4552 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4553 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4554 > │ ## process_output │
00:02:02 verbose #4555 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4556 >
00:02:02 verbose #4557 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4558 > nominal process_output = $'std_process_Output'
00:02:02 verbose #4559 >
00:02:02 verbose #4560 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4561 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4562 > │ ## process_exit_status │
00:02:02 verbose #4563 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4564 >
00:02:02 verbose #4565 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4566 > nominal process_exit_status = $'std_process_ExitStatus'
00:02:02 verbose #4567 >
00:02:02 verbose #4568 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4569 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4570 > │ ## process_output_status │
00:02:02 verbose #4571 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4572 >
00:02:02 verbose #4573 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4574 > inl process_output_status (output : process_output) : process_exit_status =
00:02:02 verbose #4575 > !\\(output, $'"$0.status"')
00:02:02 verbose #4576 >
00:02:02 verbose #4577 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4578 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4579 > │ ## process_exit_status_code │
00:02:02 verbose #4580 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4581 >
00:02:02 verbose #4582 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4583 > inl process_exit_status_code (status : process_exit_status) : optionm'.option'
00:02:02 verbose #4584 > i32 =
00:02:02 verbose #4585 > !\\(status, $'"$0.code()"')
00:02:02 verbose #4586 >
00:02:02 verbose #4587 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4588 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4589 > │ ## os_platform │
00:02:02 verbose #4590 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4591 >
00:02:02 verbose #4592 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4593 > nominal os_platform' = $'System.Runtime.InteropServices.OSPlatform'
00:02:02 verbose #4594 >
00:02:02 verbose #4595 > union os_platform =
00:02:02 verbose #4596 > | Windows
00:02:02 verbose #4597 >
00:02:02 verbose #4598 > inl os_platform = function
00:02:02 verbose #4599 > | Windows => $'`os_platform'.Windows' : os_platform'
00:02:02 verbose #4600 >
00:02:02 verbose #4601 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4602 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4603 > │ ## is_os_platform │
00:02:02 verbose #4604 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4605 >
00:02:02 verbose #4606 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4607 > inl is_os_platform (x : os_platform') : bool =
00:02:02 verbose #4608 > x |> $'System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform'
00:02:02 verbose #4609 >
00:02:02 verbose #4610 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4611 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4612 > │ ## is_windows │
00:02:02 verbose #4613 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4614 >
00:02:02 verbose #4615 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4616 > inl is_windows () : bool =
00:02:02 verbose #4617 > run_target function
00:02:02 verbose #4618 > | Fsharp (Native) => fun () =>
00:02:02 verbose #4619 > Windows |> os_platform |> is_os_platform
00:02:02 verbose #4620 > | Rust (Native) => fun () =>
00:02:02 verbose #4621 > !\($'"cfg\!(windows)"')
00:02:02 verbose #4622 > | _ => fun () => null ()
00:02:02 verbose #4623 >
00:02:02 verbose #4624 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4625 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4626 > │ ## get_executable_suffix │
00:02:02 verbose #4627 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4628 >
00:02:02 verbose #4629 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4630 > inl get_executable_suffix () =
00:02:02 verbose #4631 > if is_windows ()
00:02:02 verbose #4632 > then ".exe"
00:02:02 verbose #4633 > else ""
00:02:02 verbose #4634 >
00:02:02 verbose #4635 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4636 > //// test
00:02:02 verbose #4637 >
00:02:02 verbose #4638 > get_executable_suffix ()
00:02:02 verbose #4639 >
00:02:02 verbose #4640 >
00:02:02 verbose #4641 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4642 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4643 > │ ## quoted │
00:02:02 verbose #4644 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4645 >
00:02:02 verbose #4646 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4647 > union quoted =
00:02:02 verbose #4648 > | Quoted
00:02:02 verbose #4649 > | NotQuoted
00:02:02 verbose #4650 >
00:02:02 verbose #4651 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4652 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4653 > │ ## split_command │
00:02:02 verbose #4654 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4655 >
00:02:02 verbose #4656 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4657 > union command_parse_step =
00:02:02 verbose #4658 > | Start
00:02:02 verbose #4659 > | Path : quoted
00:02:02 verbose #4660 > | Arguments
00:02:02 verbose #4661 >
00:02:02 verbose #4662 > inl split_command (command : string) =
00:02:02 verbose #4663 > let rec loop (path, args) (chars : list char) step =
00:02:02 verbose #4664 > match step, chars with
00:02:02 verbose #4665 > | _, (('"' | '\'') :: tail) when path = "" => loop (path, args) tail
00:02:02 verbose #4666 > (Path Quoted)
00:02:02 verbose #4667 > | Path (Quoted), (('"' | '\'') :: tail) => loop (path, args) tail (Path
00:02:02 verbose #4668 > NotQuoted)
00:02:02 verbose #4669 > | Path (Quoted), (' ' :: tail) => loop ($'$"{!path} "', args) tail (Path
00:02:02 verbose #4670 > Quoted)
00:02:02 verbose #4671 > | (Start | Path _), (' ' :: tail) => loop (path, args) tail Arguments
00:02:02 verbose #4672 > | Arguments, (char :: tail) => loop (path, $'$"{!args}{!char}"') tail
00:02:02 verbose #4673 > Arguments
00:02:02 verbose #4674 > | _, (char :: tail) => loop ($'$"{!path}{!char}"', args) tail step
00:02:02 verbose #4675 > | _ => path |> sm'.replace @"\" "/", args
00:02:02 verbose #4676 > loop (join "", "") (command |> sm'.to_char_array |> am'.to_list' |>
00:02:02 verbose #4677 > listm'.unbox) Start
00:02:02 verbose #4678 >
00:02:02 verbose #4679 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4680 > //// test
00:02:02 verbose #4681 >
00:02:02 verbose #4682 > split_command ""
00:02:02 verbose #4683 > |> _assert_eq ("", "")
00:02:02 verbose #4684 >
00:02:02 verbose #4685 > split_command "/a/b/c"
00:02:02 verbose #4686 > |> _assert_eq ("/a/b/c", "")
00:02:02 verbose #4687 >
00:02:02 verbose #4688 > split_command "cat file.txt"
00:02:02 verbose #4689 > |> _assert_eq ("cat", "file.txt")
00:02:02 verbose #4690 >
00:02:02 verbose #4691 > split_command $'"""..\\..\\file.exe file1.txt file2.txt"""'
00:02:02 verbose #4692 > |> _assert_eq ("../../file.exe", "file1.txt file2.txt")
00:02:02 verbose #4693 >
00:02:02 verbose #4694 > split_command $'\@"c:\\dir\\file.exe ""file1.txt file2.txt"""'
00:02:02 verbose #4695 > |> _assert_eq ("c:/dir/file.exe", $'\@"""file1.txt file2.txt"""')
00:02:02 verbose #4696 >
00:02:02 verbose #4697 > split_command $'\@"""..\\..\\dir name\\file.exe"" ""file 1.txt"" file2.txt"'
00:02:02 verbose #4698 > |> _assert_eq ("../../dir name/file.exe", $'\@"""file 1.txt"" file2.txt"')
00:02:02 verbose #4699 >
00:02:02 verbose #4700 > split_command $'\@"""..\\..\\file 1.exe"" -c \\\\""echo 1\\\\"""'
00:02:02 verbose #4701 > |> _assert_eq ("../../file 1.exe", $'\@"-c \\\\""echo 1\\\\"""')
00:02:02 verbose #4702 >
00:02:02 verbose #4703 > split_command $'\@"..\\..\\file 1.exe -c \\\\""echo 1\\\\"""'
00:02:02 verbose #4704 > |> _assert_eq ("../../file", $'\@"1.exe -c \\\\""echo 1\\\\"""')
00:02:02 verbose #4705 >
00:02:02 verbose #4706 > ╭─[ 940.07ms - stdout ]────────────────────────────────────────────────────────╮
00:02:02 verbose #4707 > │ assert_eq / actual: struct ("", "") / expected: struct ("", "") │
00:02:02 verbose #4708 > │ assert_eq / actual: struct ("/a/b/c", "") / expected: struct ("/a/b/c", "") │
00:02:02 verbose #4709 > │ assert_eq / actual: struct ("cat", "file.txt") / expected: struct ("cat", │
00:02:02 verbose #4710 > │ "file.txt") │
00:02:02 verbose #4711 > │ assert_eq / actual: struct ("../../file.exe", "file1.txt file2.txt") / │
00:02:02 verbose #4712 > │ expected: struct ("../../file.exe", "file1.txt file2.txt") │
00:02:02 verbose #4713 > │ assert_eq / actual: struct ("c:/dir/file.exe", ""file1.txt file2.txt"") / │
00:02:02 verbose #4714 > │ expected: struct ("c:/dir/file.exe", ""file1.txt file2.txt"") │
00:02:02 verbose #4715 > │ assert_eq / actual: struct ("../../dir name/file.exe", ""file 1.txt" │
00:02:02 verbose #4716 > │ file2.txt") / expected: struct ("../../dir name/file.exe", ""file 1.txt" │
00:02:02 verbose #4717 > │ file2.txt") │
00:02:02 verbose #4718 > │ assert_eq / actual: struct ("../../file 1.exe", "-c \\"echo 1\\"") / │
00:02:02 verbose #4719 > │ expected: struct ("../../file 1.exe", "-c \\"echo 1\\"") │
00:02:02 verbose #4720 > │ assert_eq / actual: struct ("../../file", "1.exe -c \\"echo 1\\"") / │
00:02:02 verbose #4721 > │ expected: struct ("../../file", "1.exe -c \\"echo 1\\"") │
00:02:02 verbose #4722 > │ │
00:02:02 verbose #4723 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4724 >
00:02:02 verbose #4725 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4726 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4727 > │ ## process │
00:02:02 verbose #4728 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4729 >
00:02:02 verbose #4730 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4731 > nominal process = $'System.Diagnostics.Process'
00:02:02 verbose #4732 > nominal process_start_info = $'System.Diagnostics.ProcessStartInfo'
00:02:02 verbose #4733 > nominal data_received_event_args = $'System.Diagnostics.DataReceivedEventArgs'
00:02:02 verbose #4734 >
00:02:02 verbose #4735 > inl new_process (process_start_info : process_start_info) : process =
00:02:02 verbose #4736 > $'new `process (StartInfo = !process_start_info)'
00:02:02 verbose #4737 >
00:02:02 verbose #4738 > inl process_start (process : process) : bool =
00:02:02 verbose #4739 > $'!process.Start' ()
00:02:02 verbose #4740 >
00:02:02 verbose #4741 > inl process_exit_code (process : process) : i32 =
00:02:02 verbose #4742 > $'!process.ExitCode'
00:02:02 verbose #4743 >
00:02:02 verbose #4744 > inl process_id (process : process) : i32 =
00:02:02 verbose #4745 > $'!process.Id'
00:02:02 verbose #4746 >
00:02:02 verbose #4747 > inl process_has_exited (process : process) : bool =
00:02:02 verbose #4748 > run_target function
00:02:02 verbose #4749 > | Fsharp (Native) => fun () =>
00:02:02 verbose #4750 > $'!process.HasExited'
00:02:02 verbose #4751 > | _ => fun () => null ()
00:02:02 verbose #4752 >
00:02:02 verbose #4753 > inl process_kill (process : process) : () =
00:02:02 verbose #4754 > run_target function
00:02:02 verbose #4755 > | Fsharp (Native) => fun () =>
00:02:02 verbose #4756 > $'!process.Kill' ()
00:02:02 verbose #4757 > | _ => fun () => null ()
00:02:02 verbose #4758 >
00:02:02 verbose #4759 > inl process_begin_error_read_line (process : process) : () =
00:02:02 verbose #4760 > $'!process.BeginErrorReadLine' ()
00:02:02 verbose #4761 >
00:02:02 verbose #4762 > inl process_begin_output_read_line (process : process) : () =
00:02:02 verbose #4763 > $'!process.BeginOutputReadLine' ()
00:02:02 verbose #4764 >
00:02:02 verbose #4765 > inl process_add_output_data_received fn (process : process) : () =
00:02:02 verbose #4766 > $'!process.OutputDataReceived.Add !fn '
00:02:02 verbose #4767 >
00:02:02 verbose #4768 > inl process_add_error_data_received fn (process : process) : () =
00:02:02 verbose #4769 > $'!process.ErrorDataReceived.Add !fn '
00:02:02 verbose #4770 >
00:02:02 verbose #4771 > inl process_wait_for_exit_async (ct : threading.cancellation_token) (process :
00:02:02 verbose #4772 > process) : async.task () =
00:02:02 verbose #4773 > $'!process.WaitForExitAsync !ct '
00:02:02 verbose #4774 >
00:02:02 verbose #4775 > inl event_data (e : data_received_event_args) : string =
00:02:02 verbose #4776 > $'!e.Data'
00:02:02 verbose #4777 >
00:02:02 verbose #4778 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4779 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4780 > │ ## execution_line │
00:02:02 verbose #4781 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4782 >
00:02:02 verbose #4783 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4784 > type execution_line =
00:02:02 verbose #4785 > {
00:02:02 verbose #4786 > process_id : int
00:02:02 verbose #4787 > line : string
00:02:02 verbose #4788 > error : bool
00:02:02 verbose #4789 > }
00:02:02 verbose #4790 >
00:02:02 verbose #4791 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4792 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4793 > │ ## execution_options │
00:02:02 verbose #4794 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4795 >
00:02:02 verbose #4796 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4797 > type execution_options =
00:02:02 verbose #4798 > {
00:02:02 verbose #4799 > command : string
00:02:02 verbose #4800 > cancellation_token : optionm'.option' threading.cancellation_token
00:02:02 verbose #4801 > environment_variables : array_base (string * string)
00:02:02 verbose #4802 > on_line : optionm'.option' (execution_line -> async.async ())
00:02:02 verbose #4803 > stdin : optionm'.option' (threading.arc (threading.mutex
00:02:02 verbose #4804 > process_child_stdin) -> ())
00:02:02 verbose #4805 > trace : bool
00:02:02 verbose #4806 > working_directory : optionm'.option' string
00:02:02 verbose #4807 > }
00:02:02 verbose #4808 >
00:02:02 verbose #4809 > inl execution_options (fn : execution_options -> execution_options) :
00:02:02 verbose #4810 > execution_options =
00:02:02 verbose #4811 > {
00:02:02 verbose #4812 > command = ""
00:02:02 verbose #4813 > cancellation_token = None |> optionm'.box
00:02:02 verbose #4814 > environment_variables = ;[[]]
00:02:02 verbose #4815 > on_line = None |> optionm'.box
00:02:02 verbose #4816 > stdin = None |> optionm'.box
00:02:02 verbose #4817 > trace = true
00:02:02 verbose #4818 > working_directory = None |> optionm'.box
00:02:02 verbose #4819 > }
00:02:02 verbose #4820 > |> fn
00:02:02 verbose #4821 >
00:02:02 verbose #4822 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4823 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4824 > │ ## execute_with_options_async │
00:02:02 verbose #4825 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4826 >
00:02:02 verbose #4827 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4828 > let execute_with_options_async (options : execution_options) : _ (i32 * string)
00:02:02 verbose #4829 > =
00:02:02 verbose #4830 > run_target function
00:02:02 verbose #4831 > | Fsharp (Native) => fun () =>
00:02:02 verbose #4832 > fun () =>
00:02:02 verbose #4833 > inl file_name, arguments = options.command |> split_command
00:02:02 verbose #4834 > inl working_directory = options.working_directory |>
00:02:02 verbose #4835 > optionm'.unbox |> optionm'.default_value ""
00:02:02 verbose #4836 >
00:02:02 verbose #4837 > trace Debug (fun () => $'$"execute_with_options_async / options:
00:02:02 verbose #4838 > %A{!options}"') (join _locals)
00:02:02 verbose #4839 >
00:02:02 verbose #4840 > inl utf8 = sm'.encoding_utf8 ()
00:02:02 verbose #4841 > inl start_info : process_start_info =
00:02:02 verbose #4842 > $'System.Diagnostics.ProcessStartInfo (Arguments = !arguments,
00:02:02 verbose #4843 > StandardOutputEncoding = !utf8, WorkingDirectory = !working_directory, FileName
00:02:02 verbose #4844 > = !file_name, CreateNoWindow = true, RedirectStandardError = true,
00:02:02 verbose #4845 > RedirectStandardOutput = true, UseShellExecute = false)'
00:02:02 verbose #4846 >
00:02:02 verbose #4847 > (a options.environment_variables : _ i32 _)
00:02:02 verbose #4848 > |> am.iter fun key, value =>
00:02:02 verbose #4849 > $'!start_info.EnvironmentVariables.[[!key]] <- !value '
00:02:02 verbose #4850 >
00:02:02 verbose #4851 > inl proc = start_info |> new_process |> use
00:02:02 verbose #4852 > inl output : _ string = threading.new_concurrent_stack ()
00:02:02 verbose #4853 >
00:02:02 verbose #4854 > inl event error (e : data_received_event_args) = async.new_async
00:02:02 verbose #4855 > fun () =>
00:02:02 verbose #4856 > inl data = e |> event_data
00:02:02 verbose #4857 > if data <> null () then
00:02:02 verbose #4858 > match options.on_line |> optionm'.unbox with
00:02:02 verbose #4859 > | Some on_line =>
00:02:02 verbose #4860 > on_line
00:02:02 verbose #4861 > {
00:02:02 verbose #4862 > process_id = proc |> process_id
00:02:02 verbose #4863 > line = data
00:02:02 verbose #4864 > error = error
00:02:02 verbose #4865 > }
00:02:02 verbose #4866 > |> async.do
00:02:02 verbose #4867 > | None => ()
00:02:02 verbose #4868 >
00:02:02 verbose #4869 > inl text =
00:02:02 verbose #4870 > if error
00:02:02 verbose #4871 > then $'$"\! {!data}"'
00:02:02 verbose #4872 > else $'$"> {!data}"'
00:02:02 verbose #4873 > if options.trace
00:02:02 verbose #4874 > then trace Verbose (fun () => text) _locals
00:02:02 verbose #4875 > else text |> console.write_line
00:02:02 verbose #4876 >
00:02:02 verbose #4877 > inl l = if error then $'"\\u001b[[7;4m"' else ""
00:02:02 verbose #4878 > inl r = if error then $'"\\u001b[[0m"' else ""
00:02:02 verbose #4879 > output |> threading.concurrent_stack_push
00:02:02 verbose #4880 > $'$"{!l}{!data}{!r}"'
00:02:02 verbose #4881 >
00:02:02 verbose #4882 > proc |> process_add_output_data_received (event false >>
00:02:02 verbose #4883 > async.start_immediate)
00:02:02 verbose #4884 > proc |> process_add_error_data_received (event true >>
00:02:02 verbose #4885 > async.start_immediate)
00:02:02 verbose #4886 >
00:02:02 verbose #4887 > if proc |> process_start |> not
00:02:02 verbose #4888 > then failwith $'$"execute_with_options_async / process_start
00:02:02 verbose #4889 > error"'
00:02:02 verbose #4890 >
00:02:02 verbose #4891 > proc |> process_begin_error_read_line
00:02:02 verbose #4892 > proc |> process_begin_output_read_line
00:02:02 verbose #4893 >
00:02:02 verbose #4894 > inl ct =
00:02:02 verbose #4895 > options.cancellation_token
00:02:02 verbose #4896 > |> optionm'.unbox
00:02:02 verbose #4897 > |> optionm'.default_with threading.token_none
00:02:02 verbose #4898 > |> async.merge_cancellation_token_with_default_async
00:02:02 verbose #4899 > |> async.let'
00:02:02 verbose #4900 >
00:02:02 verbose #4901 > ct |> threading.token_register fun () =>
00:02:02 verbose #4902 > if proc |> process_has_exited |> not
00:02:02 verbose #4903 > then proc |> process_kill
00:02:02 verbose #4904 > |> use
00:02:02 verbose #4905 > |> ignore
00:02:02 verbose #4906 >
00:02:02 verbose #4907 > inl exit_code : i32 =
00:02:02 verbose #4908 > fun () =>
00:02:02 verbose #4909 > try_unit
00:02:02 verbose #4910 > fun () =>
00:02:02 verbose #4911 > proc
00:02:02 verbose #4912 > |> process_wait_for_exit_async ct
00:02:02 verbose #4913 > |> async.await_task
00:02:02 verbose #4914 > |> async.do
00:02:02 verbose #4915 > proc |> process_exit_code |> return
00:02:02 verbose #4916 > fun ex =>
00:02:02 verbose #4917 > // with :?
00:02:02 verbose #4918 > System.Threading.Tasks.TaskCanceledException as ex =>
00:02:02 verbose #4919 > inl ex' = ex |> sm'.format_exception
00:02:02 verbose #4920 > output |> threading.concurrent_stack_push ex'
00:02:02 verbose #4921 > inl ex : async.task_canceled_exception = ex |>
00:02:02 verbose #4922 > unbox
00:02:02 verbose #4923 > trace Warning (fun () =>
00:02:02 verbose #4924 > $'$"execute_with_options_async / WaitForExitAsync / ex: %A{!ex}"') (join
00:02:02 verbose #4925 > _locals)
00:02:02 verbose #4926 > (limit.min : i32) |> return
00:02:02 verbose #4927 > |> async.new_async_unit
00:02:02 verbose #4928 > |> async.let'
00:02:02 verbose #4929 >
00:02:02 verbose #4930 > inl output =
00:02:02 verbose #4931 > output
00:02:02 verbose #4932 > |> seq.rev''
00:02:02 verbose #4933 > |> fun x => x : seq.seq' string
00:02:02 verbose #4934 > |> sm'.concat "\n"
00:02:02 verbose #4935 >
00:02:02 verbose #4936 > trace Debug (fun () =>
00:02:02 verbose #4937 > $'$"execute_with_options_async / exit_code: {!exit_code}
00:02:02 verbose #4938 > output.Length: {!output.Length}"'
00:02:02 verbose #4939 > ) (join _locals)
00:02:02 verbose #4940 >
00:02:02 verbose #4941 > (exit_code, output) |> return
00:02:02 verbose #4942 > |> async.new_async_unit
00:02:02 verbose #4943 > | _ => fun () =>
00:02:02 verbose #4944 > global "#if FABLE_COMPILER\n[[<CompilationRepresentation
00:02:02 verbose #4945 > (CompilationRepresentationFlags.ModuleSuffix)>]]\nmodule System =\n module
00:02:02 verbose #4946 > Diagnostics =\n type Process = unit\n type DataReceivedEventArgs =
00:02:02 verbose #4947 > unit\n#endif"
00:02:02 verbose #4948 > null ()
00:02:02 verbose #4949 >
00:02:02 verbose #4950 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #4951 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #4952 > │ ## execute_async │
00:02:02 verbose #4953 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #4954 >
00:02:02 verbose #4955 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4956 > inl execute_async command =
00:02:02 verbose #4957 > execution_options fun x => { x with
00:02:02 verbose #4958 > command = command
00:02:02 verbose #4959 > }
00:02:02 verbose #4960 > |> execute_with_options_async
00:02:02 verbose #4961 >
00:02:02 verbose #4962 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #4963 > //// test
00:02:02 verbose #4964 >
00:02:02 verbose #4965 > types ()
00:02:02 verbose #4966 > inl temp_folder, disposable = file_system.create_temp_directory ()
00:02:02 verbose #4967 > disposable |> use |> ignore
00:02:02 verbose #4968 > inl file_name = "test.txt"
00:02:02 verbose #4969 > inl path = temp_folder </> file_name
00:02:02 verbose #4970 >
00:02:02 verbose #4971 > inl content = "╭─[[ 你好,世界!こんにちは世界! ]]─╮"
00:02:02 verbose #4972 > fun () =>
00:02:02 verbose #4973 > inl exit_code, result = execute_async $'\@$"pwsh -c ""Get-Content
00:02:02 verbose #4974 > {!path}"""' |> async.let'
00:02:02 verbose #4975 > exit_code |> join _assert_eq 1
00:02:02 verbose #4976 > result |> _assert_string_contains "not exist"
00:02:02 verbose #4977 >
00:02:02 verbose #4978 > content |> file_system.write_all_text_async path |> async.do
00:02:02 verbose #4979 >
00:02:02 verbose #4980 > execution_options fun x => { x with
00:02:02 verbose #4981 > command = $'\@$"cat ""{!file_name}"""'
00:02:02 verbose #4982 > working_directory = Some temp_folder |> optionm'.box
00:02:02 verbose #4983 > }
00:02:02 verbose #4984 > |> execute_with_options_async
00:02:02 verbose #4985 > |> async.let'
00:02:02 verbose #4986 > |> ignore
00:02:02 verbose #4987 >
00:02:02 verbose #4988 > execution_options fun x => { x with
00:02:02 verbose #4989 > command = $'\@$"pwsh -c ""[[System.Console]]::OutputEncoding =
00:02:02 verbose #4990 > [[System.Text.Encoding]]::UTF8; Get-Content {!file_name}"""'
00:02:02 verbose #4991 > working_directory = Some temp_folder |> optionm'.box
00:02:02 verbose #4992 > }
00:02:02 verbose #4993 > |> execute_with_options_async
00:02:02 verbose #4994 > |> async.return_await
00:02:02 verbose #4995 > |> async.new_async_unit
00:02:02 verbose #4996 > |> async.run_with_timeout 10000
00:02:02 verbose #4997 > |> function
00:02:02 verbose #4998 > | Some (exit_code, output) =>
00:02:02 verbose #4999 > exit_code |> join _assert_eq 0i32
00:02:02 verbose #5000 > output |> join _assert_eq content
00:02:02 verbose #5001 > true
00:02:02 verbose #5002 > | _ => false
00:02:02 verbose #5003 > |> _assert_eq true
00:02:02 verbose #5004 >
00:02:02 verbose #5005 > ╭─[ 2.68s - stdout ]───────────────────────────────────────────────────────────╮
00:02:02 verbose #5006 > │ 00:00:00 debug #1 execute_with_options_async / options: struct (None, │
00:02:02 verbose #5007 > │ "pwsh -c "Get-Content │
00:02:02 verbose #5008 > │ /tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6/test.txt"", │
00:02:02 verbose #5009 > │ [||], None, None, true, None) │
00:02:02 verbose #5010 > │ 00:00:00 verbose #2 ! Get-Content: Cannot find path │
00:02:02 verbose #5011 > │ '/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6/test.txt' because it │
00:02:02 verbose #5012 > │ does not exist. │
00:02:02 verbose #5013 > │ 00:00:00 debug #3 execute_with_options_async / exit_code: 1 / │
00:02:02 verbose #5014 > │ output.Length: 150 │
00:02:02 verbose #5015 > │ assert_eq / actual: 1 / expected: 1 │
00:02:02 verbose #5016 > │ assert_string_contains / actual: "not exist" / expected: "38;5;2m│
00:02:02 verbose #5017 > │ 31;1mGet-Content: Cannot find path │
00:02:02 verbose #5018 > │ '/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6/test.txt' because it │
00:02:02 verbose #5019 > │ does not exist." │
00:02:02 verbose #5020 > │ 00:00:00 debug #4 execute_with_options_async / options: struct (None, "cat │
00:02:02 verbose #5021 > │ "test.txt"", [||], None, None, true, │
00:02:02 verbose #5022 > │ Some "/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6") │
00:02:02 verbose #5023 > │ 00:00:00 verbose #5 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │
00:02:02 verbose #5024 > │ 00:00:00 debug #6 execute_with_options_async / exit_code: 0 / │
00:02:02 verbose #5025 > │ output.Length: 22 │
00:02:02 verbose #5026 > │ 00:00:00 debug #7 execute_with_options_async / options: struct (None, │
00:02:02 verbose #5027 > │ "pwsh -c "[System.Console]::OutputEncoding = [ │
00:02:02 verbose #5028 > │ System.Text.Encoding]::UTF8; Get-Content test.txt"", │
00:02:02 verbose #5029 > │ [||], None, None, true, │
00:02:02 verbose #5030 > │ Some "/tmp/!dotnet-repl/20240520-1342-1742-4219-400000cd03d6") │
00:02:02 verbose #5031 > │ 00:00:00 verbose #8 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │
00:02:02 verbose #5032 > │ 00:00:00 debug #9 execute_with_options_async / exit_code: 0 / │
00:02:02 verbose #5033 > │ output.Length: 22 │
00:02:02 verbose #5034 > │ assert_eq / actual: 0 / expected: 0 │
00:02:02 verbose #5035 > │ assert_eq / actual: "╭─[ 你好,世界!こんにちは世界! ]─╮" / expected: "╭─[ │
00:02:02 verbose #5036 > │ 你好,世界!こんにちは世界! ]─╮" │
00:02:02 verbose #5037 > │ assert_eq / actual: true / expected: true │
00:02:02 verbose #5038 > │ │
00:02:02 verbose #5039 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5040 >
00:02:02 verbose #5041 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5042 > //// test
00:02:02 verbose #5043 >
00:02:02 verbose #5044 > file_system.types ()
00:02:02 verbose #5045 > inl temp_dir, disposable = file_system.create_temp_directory ()
00:02:02 verbose #5046 > disposable |> use |> ignore
00:02:02 verbose #5047 > fun () =>
00:02:02 verbose #5048 > inl path = temp_dir </> "test.txt"
00:02:02 verbose #5049 > "0" |> file_system.write_all_text_async path |> async.do
00:02:02 verbose #5050 >
00:02:02 verbose #5051 > inl cts = threading.new_cancellation_token_source ()
00:02:02 verbose #5052 > trace Debug (fun () => "1") _locals
00:02:02 verbose #5053 > inl result =
00:02:02 verbose #5054 > execution_options fun x => { x with
00:02:02 verbose #5055 > command = $'\@$"pwsh -c ""Get-Content {!path}"""'
00:02:02 verbose #5056 > cancellation_token = cts |> threading.cancellation_source_token |>
00:02:02 verbose #5057 > Some |> optionm'.box
00:02:02 verbose #5058 > }
00:02:02 verbose #5059 > |> execute_with_options_async
00:02:02 verbose #5060 > |> async.start_child
00:02:02 verbose #5061 > |> async.let'
00:02:02 verbose #5062 > trace Debug (fun () => "2") _locals
00:02:02 verbose #5063 > async.sleep 100 |> async.do
00:02:02 verbose #5064 > trace Debug (fun () => "3") _locals
00:02:02 verbose #5065 > cts |> threading.cancellation_source_cancel
00:02:02 verbose #5066 > trace Debug (fun () => "4") _locals
00:02:02 verbose #5067 > inl exit_code, output = result |> async.let'
00:02:02 verbose #5068 > trace Debug (fun () => "5") _locals
00:02:02 verbose #5069 > (exit_code, output) |> return
00:02:02 verbose #5070 > |> async.new_async_unit
00:02:02 verbose #5071 > |> async.run_with_timeout 10000
00:02:02 verbose #5072 > |> function
00:02:02 verbose #5073 > | Some (exit_code, output) =>
00:02:02 verbose #5074 > exit_code |> _assert_eq -2147483648i32
00:02:02 verbose #5075 > output |> _assert_eq (join
00:02:02 verbose #5076 > "System.Threading.Tasks.TaskCanceledException: A task was canceled.")
00:02:02 verbose #5077 > true
00:02:02 verbose #5078 > | _ => false
00:02:02 verbose #5079 > |> _assert_eq true
00:02:02 verbose #5080 >
00:02:02 verbose #5081 > ╭─[ 1.52s - stdout ]───────────────────────────────────────────────────────────╮
00:02:02 verbose #5082 > │ 00:00:00 debug #1 1 │
00:02:02 verbose #5083 > │ 00:00:00 debug #2 2 │
00:02:02 verbose #5084 > │ 00:00:00 debug #3 execute_with_options_async / options: struct (Some │
00:02:02 verbose #5085 > │ System.Threading.CancellationToken, │
00:02:02 verbose #5086 > │ "pwsh -c "Get-Content │
00:02:02 verbose #5087 > │ /tmp/!dotnet-repl/20240520-1342-1978-7819-7000001feb2b/test.txt"", │
00:02:02 verbose #5088 > │ [||], None, None, true, None) │
00:02:02 verbose #5089 > │ 00:00:00 debug #4 3 │
00:02:02 verbose #5090 > │ 00:00:00 debug #5 4 │
00:02:02 verbose #5091 > │ 00:00:00 warning #6 execute_with_options_async / WaitForExitAsync / ex: │
00:02:02 verbose #5092 > │ System.Threading.Tasks.TaskCanceledException: A task was canceled. │
00:02:02 verbose #5093 > │ 00:00:00 debug #7 execute_with_options_async / exit_code: -2147483648 / │
00:02:02 verbose #5094 > │ output.Length: 66 │
00:02:02 verbose #5095 > │ 00:00:00 debug #8 5 │
00:02:02 verbose #5096 > │ assert_eq / actual: -2147483648 / expected: -2147483648 │
00:02:02 verbose #5097 > │ assert_eq / actual: "System.Threading.Tasks.TaskCanceledException: A task │
00:02:02 verbose #5098 > │ was canceled." / expected: "System.Threading.Tasks.TaskCanceledException: A │
00:02:02 verbose #5099 > │ task was canceled." │
00:02:02 verbose #5100 > │ assert_eq / actual: true / expected: true │
00:02:02 verbose #5101 > │ │
00:02:02 verbose #5102 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5103 >
00:02:02 verbose #5104 > ── markdown ────────────────────────────────────────────────────────────────────
00:02:02 verbose #5105 > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:02 verbose #5106 > │ ## split_args │
00:02:02 verbose #5107 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5108 >
00:02:02 verbose #5109 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5110 > union args_parse_step =
00:02:02 verbose #5111 > | Start
00:02:02 verbose #5112 > | Quoted : char
00:02:02 verbose #5113 > | Escaped : u8 * char
00:02:02 verbose #5114 >
00:02:02 verbose #5115 > let split_args (args : string) : array_base string =
00:02:02 verbose #5116 > let rec loop (acc, current) (chars : list char) (step, last) =
00:02:02 verbose #5117 > // trace Verbose (fun () => $'$"split_args / current: %A{!current}
00:02:02 verbose #5118 > acc: %A{!acc} / step: %A{!step} / last: %A{!last}"') _locals
00:02:02 verbose #5119 > match step, last, chars with
00:02:02 verbose #5120 > | Start, _, ('"' :: tail) =>
00:02:02 verbose #5121 > loop (acc, "") tail (Quoted '"', step)
00:02:02 verbose #5122 > | Escaped _, _, (('\\' | '\`') & c :: tail) =>
00:02:02 verbose #5123 > loop (acc, current) tail (Quoted c, step)
00:02:02 verbose #5124 > | Escaped _, Start, ('"' :: tail) =>
00:02:02 verbose #5125 > loop (acc, current) tail (step, step)
00:02:02 verbose #5126 > | Quoted ('"'), Quoted _, ('"' :: tail) =>
00:02:02 verbose #5127 > loop (acc, current) tail (Start, step)
00:02:02 verbose #5128 > | Escaped (0, ('\\' | '\`') & c), Quoted ('"'), (c' :: tail) =>
00:02:02 verbose #5129 > loop (acc, $'$"{!current}{!c}{!c'}"') tail (Quoted '"', step)
00:02:02 verbose #5130 > | Quoted (('\\' | '\`') as c), _, ('"' :: tail)
00:02:02 verbose #5131 > when last <>. Escaped (0, '\\') && last <>. Escaped (0, '\`') =>
00:02:02 verbose #5132 > loop (acc, $'$"{!current}{!c}\\\""') tail (Quoted '"', step)
00:02:02 verbose #5133 > | Quoted (('\\' | '\`') as c), Quoted _, ('"' :: tail) =>
00:02:02 verbose #5134 > loop (acc, $'$"{!current}{!c}\\\""') tail (Quoted '"', step)
00:02:02 verbose #5135 > | Quoted ('\\' | '\`'), _, ('"' :: tail) =>
00:02:02 verbose #5136 > loop (acc, current) tail (Start, step)
00:02:02 verbose #5137 > | Escaped (n, c), _, ('"' :: tail) =>
00:02:02 verbose #5138 > loop (acc, $'$"{!current}{!c}\\\""') tail (Escaped (n, c), step)
00:02:02 verbose #5139 > | Quoted _, Quoted _, (('\\' | '\`') & c :: tail) =>
00:02:02 verbose #5140 > loop (acc, current) tail (Escaped (0, c), step)
00:02:02 verbose #5141 > | Quoted _, _, (('\\' | '\`') & c :: tail) =>
00:02:02 verbose #5142 > loop (acc, current) tail (Escaped (1, c), step)
00:02:02 verbose #5143 > | Quoted _, Escaped (0, _), ('"' :: tail) =>
00:02:02 verbose #5144 > loop (acc, $'$"{!current}"') tail (Quoted '"', step)
00:02:02 verbose #5145 > | Quoted _, _, ('"' :: tail) =>
00:02:02 verbose #5146 > loop (acc ++ [[ current ]], "") tail (Start, step)
00:02:02 verbose #5147 > | (Escaped _ | Quoted _), _, (' ' :: tail) =>
00:02:02 verbose #5148 > loop (acc, $'$"{!current} "') tail (step, step)
00:02:02 verbose #5149 > | _, _, (('\\' | '\`') & c :: tail) =>
00:02:02 verbose #5150 > loop (acc, current) tail (Escaped (0, c), step)
00:02:02 verbose #5151 > | _, _, (' ' :: tail) =>
00:02:02 verbose #5152 > loop ((if current = "" then acc else acc ++ [[ current ]]), "") tail
00:02:02 verbose #5153 > (step, step)
00:02:02 verbose #5154 > | Escaped (1, _), _, (char :: tail) when last <>. step =>
00:02:02 verbose #5155 > loop (acc, $'$"{!current}\\{!char}"') tail (last, step)
00:02:02 verbose #5156 > | _, _, (char :: tail) =>
00:02:02 verbose #5157 > loop (acc, $'$"{!current}{!char}"') tail (step, step)
00:02:02 verbose #5158 > | _ =>
00:02:02 verbose #5159 > (if current = "" then acc else acc ++ [[ current ]]), current
00:02:02 verbose #5160 > loop
00:02:02 verbose #5161 > ([[]], "")
00:02:02 verbose #5162 > (
00:02:02 verbose #5163 > args
00:02:02 verbose #5164 > |> optionm'.of_obj
00:02:02 verbose #5165 > |> optionm'.unbox
00:02:02 verbose #5166 > |> optionm'.default_value ""
00:02:02 verbose #5167 > |> sm'.to_char_array
00:02:02 verbose #5168 > |> am'.to_list'
00:02:02 verbose #5169 > |> listm'.unbox
00:02:02 verbose #5170 > )
00:02:02 verbose #5171 > (Start, Start)
00:02:02 verbose #5172 > |> fst
00:02:02 verbose #5173 > |> listm'.box
00:02:02 verbose #5174 > |> listm'.to_array'
00:02:02 verbose #5175 > |> fun (a x : _ i32 _) => x
00:02:02 verbose #5176 >
00:02:02 verbose #5177 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5178 > //// test
00:02:02 verbose #5179 >
00:02:02 verbose #5180 > "a b \"c d\" e"
00:02:02 verbose #5181 > |> split_args
00:02:02 verbose #5182 > |> _assert_eq' ;[[ "a"; "b"; "c d"; "e" ]]
00:02:02 verbose #5183 >
00:02:02 verbose #5184 > ╭─[ 767.40ms - stdout ]────────────────────────────────────────────────────────╮
00:02:02 verbose #5185 > │ assert_eq' / actual: [|"a"; "b"; "c d"; "e"|] / expected: [|"a"; "b"; "c d"; │
00:02:02 verbose #5186 > │ "e"|] │
00:02:02 verbose #5187 > │ │
00:02:02 verbose #5188 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5189 >
00:02:02 verbose #5190 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5191 > //// test
00:02:02 verbose #5192 >
00:02:02 verbose #5193 > "a b e"
00:02:02 verbose #5194 > |> split_args
00:02:02 verbose #5195 > |> _assert_eq' ;[[ "a"; "b"; "e" ]]
00:02:02 verbose #5196 >
00:02:02 verbose #5197 > ╭─[ 820.96ms - stdout ]────────────────────────────────────────────────────────╮
00:02:02 verbose #5198 > │ assert_eq' / actual: [|"a"; "b"; "e"|] / expected: [|"a"; "b"; "e"|] │
00:02:02 verbose #5199 > │ │
00:02:02 verbose #5200 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5201 >
00:02:02 verbose #5202 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5203 > //// test
00:02:02 verbose #5204 >
00:02:02 verbose #5205 > "\"a b\" \"e\" \"f\""
00:02:02 verbose #5206 > |> split_args
00:02:02 verbose #5207 > |> _assert_eq' ;[[ "a b"; "e"; "f" ]]
00:02:02 verbose #5208 >
00:02:02 verbose #5209 > ╭─[ 829.72ms - stdout ]────────────────────────────────────────────────────────╮
00:02:02 verbose #5210 > │ assert_eq' / actual: [|"a b"; "e"; "f"|] / expected: [|"a b"; "e"; "f"|] │
00:02:02 verbose #5211 > │ │
00:02:02 verbose #5212 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5213 >
00:02:02 verbose #5214 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5215 > //// test
00:02:02 verbose #5216 >
00:02:02 verbose #5217 > "a -b \"c \\\"d\\\"\""
00:02:02 verbose #5218 > |> split_args
00:02:02 verbose #5219 > |> _assert_eq' ;[[ "a"; "-b"; "c \\\"d\\\"" ]]
00:02:02 verbose #5220 >
00:02:02 verbose #5221 > ╭─[ 671.32ms - stdout ]────────────────────────────────────────────────────────╮
00:02:02 verbose #5222 > │ assert_eq' / actual: [|"a"; "-b"; "c \"d\""|] / expected: [|"a"; "-b"; "c │
00:02:02 verbose #5223 > │ \"d\""|] │
00:02:02 verbose #5224 > │ │
00:02:02 verbose #5225 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5226 >
00:02:02 verbose #5227 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5228 > //// test
00:02:02 verbose #5229 >
00:02:02 verbose #5230 > "a -b \"c \\\"d\\\" e\""
00:02:02 verbose #5231 > |> split_args
00:02:02 verbose #5232 > |> _assert_eq' ;[[ "a"; "-b"; "c \\\"d\\\" e" ]]
00:02:02 verbose #5233 >
00:02:02 verbose #5234 > ╭─[ 619.12ms - stdout ]────────────────────────────────────────────────────────╮
00:02:02 verbose #5235 > │ assert_eq' / actual: [|"a"; "-b"; "c \"d\" e"|] / expected: [|"a"; "-b"; "c │
00:02:02 verbose #5236 > │ \"d\" e"|] │
00:02:02 verbose #5237 > │ │
00:02:02 verbose #5238 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5239 >
00:02:02 verbose #5240 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5241 > //// test
00:02:02 verbose #5242 >
00:02:02 verbose #5243 > "a -b \"c \`\"d\`\" e\""
00:02:02 verbose #5244 > |> split_args
00:02:02 verbose #5245 > |> _assert_eq' ;[[ "a"; "-b"; "c \`\"d\`\" e" ]]
00:02:02 verbose #5246 >
00:02:02 verbose #5247 > ╭─[ 592.96ms - stdout ]────────────────────────────────────────────────────────╮
00:02:02 verbose #5248 > │ assert_eq' / actual: [|"a"; "-b"; "c `"d`" e"|] / expected: [|"a"; "-b"; "c │
00:02:02 verbose #5249 > │ `"d`" e"|] │
00:02:02 verbose #5250 > │ │
00:02:02 verbose #5251 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5252 >
00:02:02 verbose #5253 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5254 > //// test
00:02:02 verbose #5255 >
00:02:02 verbose #5256 > $'$"--text \\\\\\"\'\'\' value \'\'\'\\\\\\" "'
00:02:02 verbose #5257 > |> split_args
00:02:02 verbose #5258 > |> _assert_eq' ;[[ "--text"; "''' value '''" ]]
00:02:02 verbose #5259 >
00:02:02 verbose #5260 > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:02 verbose #5261 > ╭─[ 208.25ms - diagnostics ]───────────────────────────────────────────────────╮
00:02:02 verbose #5262 > │ (0,1)-(0,1) typecheck error Eval.eval / fsi_eval error / fsxPath: │
00:02:02 verbose #5263 > │ /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9b0 │
00:02:02 verbose #5264 > │ cd2d7114eb537c564e3db0add2055244a02e1e838be771642daf591832055/main.fsx / │
00:02:02 verbose #5265 > │ builderArgs: [||] / code: type UH0 = │
00:02:02 verbose #5266 > │ | UH0_0 │
00:02:02 verbose #5267 > │ | UH0_1 of string * UH0 │
00:02:02 verbose #5268 > │ and [<Struct>] US0 = │
00:02:02 verbose #5269 > │ | US0_0 of f0_0 : string │
00:02:02 verbose #5270 > │ | US0_1 │
00:02:02 verbose #5271 > │ and Mut0 = {mutable l0 : int32} │
00:02:02 verbose #5272 > │ and UH1 = │
00:02:02 verbose #5273 > │ | UH1_0 │
00:02:02 verbose #5274 > │ | UH1_1 of char * UH1 │
00:02:02 verbose #5275 > │ and [<Struct>] US1 = │
00:02:02 verbose #5276 > │ | US1_0 │
00:02:02 verbose #5277 > │ | US1_1 of f1_0 : char │
00:02:02 verbose #5278 > │ | US1_2 of f2_0 : uint8 * f2_1 : char │
00:02:02 verbose #5279 > │ let rec method2 (v0 : int32, v1 : Mut0) : bool = │
00:02:02 verbose #5280 > │ let v2 : int32 = v1.l0 │
00:02:02 verbose #5281 > │ let v3 : bool = v2 < v0 │
00:02:02 verbose #5282 > │ v3 │
00:02:02 verbose #5283 > │ and closure1 (v0 : char) (v1 : UH1) : UH1 = │
00:02:02 verbose #5284 > │ UH1_1(v0, v1) │
00:02:02 verbose #5285 > │ and closure0 () (v0 : char) : (UH1 -> UH1) = │
00:02:02 verbose #5286 > │ closure1(v0) │
00:02:02 verbose #5287 > │ and method3 () : (char -> (UH1 -> UH1)) = │
00:02:02 verbose #5288 > │ closure0() │
00:02:02 verbose #5289 > │ and method6 (v0 : UH0, v1 : UH0) : UH0 = │
00:02:02 verbose #5290 > │ match v0 with │
00:02:02 verbose #5291 > │ | UH0_1(v2, v3) -> (* Cons *) │
00:02:02 verbose #5292 > │ let v4 : UH0 = method6(v3, v1) │
00:02:02 verbose #5293 > │ UH0_1(v2, v4) │
00:02:02 verbose #5294 > │ | UH0_0 -> (* Nil *) │
00:02:02 verbose #5295 > │ v1 │
00:02:02 verbose #5296 > │ and method5 (v0 : string, v1 : UH0, v2 : UH1, v3 : US1) : struct (UH0 * │
00:02:02 verbose #5297 > │ string) = │
00:02:02 verbose #5298 > │ match v3 with │
00:02:02 verbose #5299 > │ | US1_2(v51, v52) -> (* Escaped *) │
00:02:02 verbose #5300 > │ match v2 with │
00:02:02 verbose #5301 > │ | UH1_1(v53, v54) -> (* Cons *) │
00:02:02 verbose #5302 > │ let v55 : bool = '\\' = v53 │
00:02:02 verbose #5303 > │ if v55 then │
00:02:02 verbose #5304 > │ let v56 : US1 = US1_1(v53) │
00:02:02 verbose #5305 > │ method4(v0, v1, v54, v3, v56) │
00:02:02 verbose #5306 > │ else │
00:02:02 verbose #5307 > │ let v59 : bool = '`' = v53 │
00:02:02 verbose #5308 > │ if v59 then │
00:02:02 verbose #5309 > │ let v60 : US1 = US1_1(v53) │
00:02:02 verbose #5310 > │ method4(v0, v1, v54, v3, v60) │
00:02:02 verbose #5311 > │ else │
00:02:02 verbose #5312 > │ let v63 : bool = 0uy = v51 │
00:02:02 verbose #5313 > │ if v63 then │
00:02:02 verbose #5314 > │ let v64 : bool = '\\' = v52 │
00:02:02 verbose #5315 > │ if v64 then │
00:02:02 verbose #5316 > │ let v65 : bool = '"' = v53 │
00:02:02 verbose #5317 > │ if v65 then │
00:02:02 verbose #5318 > │ let v66 : string = $"{v0}{v52}\"" │
00:02:02 verbose #5319 > │ let v67 : US1 = US1_2(v51, v52) │
00:02:02 verbose #5320 > │ method4(v66, v1, v54, v3, v67) │
00:02:02 verbose #5321 > │ else │
00:02:02 verbose #5322 > │ let v70 : bool = ' ' = v53 │
00:02:02 verbose #5323 > │ if v70 then │
00:02:02 verbose #5324 > │ let v71 : string = $"{v0} " │
00:02:02 verbose #5325 > │ method5(v71, v1, v54, v3) │
00:02:02 verbose #5326 > │ else │
00:02:02 verbose #5327 > │ let v74 : bool = 1uy = v51 │
00:02:02 verbose #5328 > │ if v74 then │
00:02:02 verbose #5329 > │ let v75 : bool = v3 <> v3 │
00:02:02 verbose #5330 > │ if v75 then │
00:02:02 verbose #5331 > │ let v76 : string = $"{v0}\{v53}" │
00:02:02 verbose #5332 > │ method5(v76, v1, v54, v3) │
00:02:02 verbose #5333 > │ else │
00:02:02 verbose #5334 > │ let v79 : string = $"{v0}{v53}" │
00:02:02 verbose #5335 > │ method5(v79, v1, v54, v3) │
00:02:02 verbose #5336 > │ else │
00:02:02 verbose #5337 > │ let v84 : string = $"{v0}{v53}" │
00:02:02 verbose #5338 > │ method5(v84, v1, v54, v3) │
00:02:02 verbose #5339 > │ else │
00:02:02 verbose #5340 > │ let v93 : bool = '`' = v52 │
00:02:02 verbose #5341 > │ if v93 then │
00:02:02 verbose #5342 > │ let v94 : bool = '"' = v53 │
00:02:02 verbose #5343 > │ if v94 then │
00:02:02 verbose #5344 > │ let v95 : string = $"{v0}{v52}\"" │
00:02:02 verbose #5345 > │ let v96 : US1 = US1_2(v51, v52) │
00:02:02 verbose #5346 > │ method4(v95, v1, v54, v3, v96) │
00:02:02 verbose #5347 > │ else │
00:02:02 verbose #5348 > │ let v99 : bool = ' ' = v53 │
00:02:02 verbose #5349 > │ if v99 then │
00:02:02 verbose #5350 > │ let v100 : string = $"{v0} " │
00:02:02 verbose #5351 > │ method5(v100, v1, v54, v3) │
00:02:02 verbose #5352 > │ else │
00:02:02 verbose #5353 > │ let v103 : bool = 1uy = v51 │
00:02:02 verbose #5354 > │ if v103 then │
00:02:02 verbose #5355 > │ let v104 : bool = v3 <> v3 │
00:02:02 verbose #5356 > │ if v104 then │
00:02:02 verbose #5357 > │ let v105 : string = │
00:02:02 verbose #5358 > │ $"{v0}\{v53}" │
00:02:02 verbose #5359 > │ method5(v105, v1, v54, v3) │
00:02:02 verbose #5360 > │ else │
00:02:02 verbose #5361 > │ let v108 : string = │
00:02:02 verbose #5362 > │ $"{v0}{v53}" │
00:02:02 verbose #5363 > │ method5(v108, v1, v54, v3) │
00:02:02 verbose #5364 > │ else │
00:02:02 verbose #5365 > │ let v113 : string = $"{v0}{v53}" │
00:02:02 verbose #5366 > │ method5(v113, v1, v54, v3) │
00:02:02 verbose #5367 > │ else │
00:02:02 verbose #5368 > │ let v122 : bool = '"' = v53 │
00:02:02 verbose #5369 > │ if v122 then │
00:02:02 verbose #5370 > │ let v123 : string = $"{v0}{v52}\"" │
00:02:02 verbose #5371 > │ let v124 : US1 = US1_2(v51, v52) │
00:02:02 verbose #5372 > │ method4(v123, v1, v54, v3, v124) │
00:02:02 verbose #5373 > │ else │
00:02:02 verbose #5374 > │ let v127 : bool = ' ' = v53 │
00:02:02 verbose #5375 > │ if v127 then │
00:02:02 verbose #5376 > │ let v128 : string = $"{v0} " │
00:02:02 verbose #5377 > │ method5(v128, v1, v54, v3) │
00:02:02 verbose #5378 > │ else │
00:02:02 verbose #5379 > │ let v131 : bool = 1uy = v51 │
00:02:02 verbose #5380 > │ if v131 then │
00:02:02 verbose #5381 > │ let v132 : bool = v3 <> v3 │
00:02:02 verbose #5382 > │ if v132 then │
00:02:02 verbose #5383 > │ let v133 : string = │
00:02:02 verbose #5384 > │ $"{v0}\{v53}" │
00:02:02 verbose #5385 > │ method5(v133, v1, v54, v3) │
00:02:02 verbose #5386 > │ else │
00:02:02 verbose #5387 > │ let v136 : string = │
00:02:02 verbose #5388 > │ $"{v0}{v53}" │
00:02:02 verbose #5389 > │ method5(v136, v1, v54, v3) │
00:02:02 verbose #5390 > │ else │
00:02:02 verbose #5391 > │ let v141 : string = $"{v0}{v53}" │
00:02:02 verbose #5392 > │ method5(v141, v1, v54, v3) │
00:02:02 verbose #5393 > │ else │
00:02:02 verbose #5394 > │ let v154 : bool = '"' = v53 │
00:02:02 verbose #5395 > │ if v154 then │
00:02:02 verbose #5396 > │ let v155 : string = $"{v0}{v52}\"" │
00:02:02 verbose #5397 > │ let v156 : US1 = US1_2(v51, v52) │
00:02:02 verbose #5398 > │ method4(v155, v1, v54, v3, v156) │
00:02:02 verbose #5399 > │ else │
00:02:02 verbose #5400 > │ let v159 : bool = ' ' = v53 │
00:02:02 verbose #5401 > │ if v159 then │
00:02:02 verbose #5402 > │ let v160 : string = $"{v0} " │
00:02:02 verbose #5403 > │ method5(v160, v1, v54, v3) │
00:02:02 verbose #5404 > │ else │
00:02:02 verbose #5405 > │ let v163 : bool = 1uy = v51 │
00:02:02 verbose #5406 > │ if v163 then │
00:02:02 verbose #5407 > │ let v164 : bool = v3 <> v3 │
00:02:02 verbose #5408 > │ if v164 then │
00:02:02 verbose #5409 > │ let v165 : string = $"{v0}\{v53}" │
00:02:02 verbose #5410 > │ method5(v165, v1, v54, v3) │
00:02:02 verbose #5411 > │ else │
00:02:02 verbose #5412 > │ let v168 : string = $"{v0}{v53}" │
00:02:02 verbose #5413 > │ method5(v168, v1, v54, v3) │
00:02:02 verbose #5414 > │ else │
00:02:02 verbose #5415 > │ let v173 : string = $"{v0}{v53}" │
00:02:02 verbose #5416 > │ method5(v173, v1, v54, v3) │
00:02:02 verbose #5417 > │ | _ -> │
00:02:02 verbose #5418 > │ let v188 : bool = 0uy = v51 │
00:02:02 verbose #5419 > │ if v188 then │
00:02:02 verbose #5420 > │ let v189 : bool = '\\' = v52 │
00:02:02 verbose #5421 > │ if v189 then │
00:02:02 verbose #5422 > │ let v190 : bool = 1uy = v51 │
00:02:02 verbose #5423 > │ if v190 then │
00:02:02 verbose #5424 > │ let v192 : bool = v0 = "" │
00:02:02 verbose #5425 > │ let v196 : UH0 = │
00:02:02 verbose #5426 > │ if v192 then │
00:02:02 verbose #5427 > │ v1 │
00:02:02 verbose #5428 > │ else │
00:02:02 verbose #5429 > │ let v193 : UH0 = UH0_0 │
00:02:02 verbose #5430 > │ let v194 : UH0 = UH0_1(v0, v193) │
00:02:02 verbose #5431 > │ method6(v1, v194) │
00:02:02 verbose #5432 > │ struct (v196, v0) │
00:02:02 verbose #5433 > │ else │
00:02:02 verbose #5434 > │ let v198 : bool = v0 = "" │
00:02:02 verbose #5435 > │ let v202 : UH0 = │
00:02:02 verbose #5436 > │ if v198 then │
00:02:02 verbose #5437 > │ v1 │
00:02:02 verbose #5438 > │ else │
00:02:02 verbose #5439 > │ let v199 : UH0 = UH0_0 │
00:02:02 verbose #5440 > │ let v200 : UH0 = UH0_1(v0, v199) │
00:02:02 verbose #5441 > │ method6(v1, v200) │
00:02:02 verbose #5442 > │ struct (v202, v0) │
00:02:02 verbose #5443 > │ else │
00:02:02 verbose #5444 > │ let v205 : bool = '`' = v52 │
00:02:02 verbose #5445 > │ if v205 then │
00:02:02 verbose #5446 > │ let v206 : bool = 1uy = v51 │
00:02:02 verbose #5447 > │ if v206 then │
00:02:02 verbose #5448 > │ let v208 : bool = v0 = "" │
00:02:02 verbose #5449 > │ let v212 : UH0 = │
00:02:02 verbose #5450 > │ if v208 then │
00:02:02 verbose #5451 > │ v1 │
00:02:02 verbose #5452 > │ else │
00:02:02 verbose #5453 > │ let v209 : UH0 = UH0_0 │
00:02:02 verbose #5454 > │ let v210 : UH0 = UH0_1(v0, v209) │
00:02:02 verbose #5455 > │ method6(v1, v210) │
00:02:02 verbose #5456 > │ struct (v212, v0) │
00:02:02 verbose #5457 > │ else │
00:02:02 verbose #5458 > │ let v214 : bool = v0 = "" │
00:02:02 verbose #5459 > │ let v218 : UH0 = │
00:02:02 verbose #5460 > │ if v214 then │
00:02:02 verbose #5461 > │ v1 │
00:02:02 verbose #5462 > │ else │
00:02:02 verbose #5463 > │ let v215 : UH0 = UH0_0 │
00:02:02 verbose #5464 > │ let v216 : UH0 = UH0_1(v0, v215) │
00:02:02 verbose #5465 > │ method6(v1, v216) │
00:02:02 verbose #5466 > │ struct (v218, v0) │
00:02:02 verbose #5467 > │ else │
00:02:02 verbose #5468 > │ let v221 : bool = 1uy = v51 │
00:02:02 verbose #5469 > │ if v221 then │
00:02:02 verbose #5470 > │ let v223 : bool = v0 = "" │
00:02:02 verbose #5471 > │ let v227 : UH0 = │
00:02:02 verbose #5472 > │ if v223 then │
00:02:02 verbose #5473 > │ v1 │
00:02:02 verbose #5474 > │ else │
00:02:02 verbose #5475 > │ let v224 : UH0 = UH0_0 │
00:02:02 verbose #5476 > │ let v225 : UH0 = UH0_1(v0, v224) │
00:02:02 verbose #5477 > │ method6(v1, v225) │
00:02:02 verbose #5478 > │ struct (v227, v0) │
00:02:02 verbose #5479 > │ else │
00:02:02 verbose #5480 > │ let v229 : bool = v0 = "" │
00:02:02 verbose #5481 > │ let v233 : UH0 = │
00:02:02 verbose #5482 > │ if v229 then │
00:02:02 verbose #5483 > │ v1 │
00:02:02 verbose #5484 > │ else │
00:02:02 verbose #5485 > │ let v230 : UH0 = UH0_0 │
00:02:02 verbose #5486 > │ let v231 : UH0 = UH0_1(v0, v230) │
00:02:02 verbose #5487 > │ method6(v1, v231) │
00:02:02 verbose #5488 > │ struct (v233, v0) │
00:02:02 verbose #5489 > │ else │
00:02:02 verbose #5490 > │ let v240 : bool = 1uy = v51 │
00:02:02 verbose #5491 > │ if v240 then │
00:02:02 verbose #5492 > │ let v242 : bool = v0 = "" │
00:02:02 verbose #5493 > │ let v246 : UH0 = │
00:02:02 verbose #5494 > │ if v242 then │
00:02:02 verbose #5495 > │ v1 │
00:02:02 verbose #5496 > │ else │
00:02:02 verbose #5497 > │ let v243 : UH0 = UH0_0 │
00:02:02 verbose #5498 > │ let v244 : UH0 = UH0_1(v0, v243) │
00:02:02 verbose #5499 > │ method6(v1, v244) │
00:02:02 verbose #5500 > │ struct (v246, v0) │
00:02:02 verbose #5501 > │ else │
00:02:02 verbose #5502 > │ let v248 : bool = v0 = "" │
00:02:02 verbose #5503 > │ let v252 : UH0 = │
00:02:02 verbose #5504 > │ if v248 then │
00:02:02 verbose #5505 > │ v1 │
00:02:02 verbose #5506 > │ else │
00:02:02 verbose #5507 > │ let v249 : UH0 = UH0_0 │
00:02:02 verbose #5508 > │ let v250 : UH0 = UH0_1(v0, v249) │
00:02:02 verbose #5509 > │ method6(v1, v250) │
00:02:02 verbose #5510 > │ struct (v252, v0) │
00:02:02 verbose #5511 > │ | US1_1(v259) -> (* Quoted *) │
00:02:02 verbose #5512 > │ let v260 : bool = '"' = v259 │
00:02:02 verbose #5513 > │ if v260 then │
00:02:02 verbose #5514 > │ match v2 with │
00:02:02 verbose #5515 > │ | UH1_1(v261, v262) -> (* Cons *) │
00:02:02 verbose #5516 > │ let v263 : bool = '"' = v261 │
00:02:02 verbose #5517 > │ if v263 then │
00:02:02 verbose #5518 > │ let v264 : US1 = US1_0 │
00:02:02 verbose #5519 > │ method4(v0, v1, v262, v3, v264) │
00:02:02 verbose #5520 > │ else │
00:02:02 verbose #5521 > │ let v267 : bool = '\\' = v259 │
00:02:02 verbose #5522 > │ if v267 then │
00:02:02 verbose #5523 > │ let v268 : bool = '\\' = v261 │
00:02:02 verbose #5524 > │ if v268 then │
00:02:02 verbose #5525 > │ let v269 : uint8 = 0uy │
00:02:02 verbose #5526 > │ let v270 : US1 = US1_2(v269, v261) │
00:02:02 verbose #5527 > │ method4(v0, v1, v262, v3, v270) │
00:02:02 verbose #5528 > │ else │
00:02:02 verbose #5529 > │ let v273 : bool = '`' = v261 │
00:02:02 verbose #5530 > │ if v273 then │
00:02:02 verbose #5531 > │ let v274 : uint8 = 0uy │
00:02:02 verbose #5532 > │ let v275 : US1 = US1_2(v274, v261) │
00:02:02 verbose #5533 > │ method4(v0, v1, v262, v3, v275) │
00:02:02 verbose #5534 > │ else │
00:02:02 verbose #5535 > │ let v278 : bool = ' ' = v261 │
00:02:02 verbose #5536 > │ if v278 then │
00:02:02 verbose #5537 > │ let v279 : string = $"{v0} " │
00:02:02 verbose #5538 > │ method5(v279, v1, v262, v3) │
00:02:02 verbose #5539 > │ else │
00:02:02 verbose #5540 > │ let v282 : string = $"{v0}{v261}" │
00:02:02 verbose #5541 > │ method5(v282, v1, v262, v3) │
00:02:02 verbose #5542 > │ else │
00:02:02 verbose #5543 > │ let v291 : bool = '`' = v259 │
00:02:02 verbose #5544 > │ if v291 then │
00:02:02 verbose #5545 > │ let v292 : bool = '\\' = v261 │
00:02:02 verbose #5546 > │ if v292 then │
00:02:02 verbose #5547 > │ let v293 : uint8 = 0uy │
00:02:02 verbose #5548 > │ let v294 : US1 = US1_2(v293, v261) │
00:02:02 verbose #5549 > │ method4(v0, v1, v262, v3, v294) │
00:02:02 verbose #5550 > │ else │
00:02:02 verbose #5551 > │ let v297 : bool = '`' = v261 │
00:02:02 verbose #5552 > │ if v297 then │
00:02:02 verbose #5553 > │ let v298 : uint8 = 0uy │
00:02:02 verbose #5554 > │ let v299 : US1 = US1_2(v298, v261) │
00:02:02 verbose #5555 > │ method4(v0, v1, v262, v3, v299) │
00:02:02 verbose #5556 > │ else │
00:02:02 verbose #5557 > │ let v302 : bool = ' ' = v261 │
00:02:02 verbose #5558 > │ if v302 then │
00:02:02 verbose #5559 > │ let v303 : string = $"{v0} " │
00:02:02 verbose #5560 > │ method5(v303, v1, v262, v3) │
00:02:02 verbose #5561 > │ else │
00:02:02 verbose #5562 > │ let v306 : string = $"{v0}{v261}" │
00:02:02 verbose #5563 > │ method5(v306, v1, v262, v3) │
00:02:02 verbose #5564 > │ else │
00:02:02 verbose #5565 > │ let v315 : bool = '\\' = v261 │
00:02:02 verbose #5566 > │ if v315 then │
00:02:02 verbose #5567 > │ let v316 : uint8 = 0uy │
00:02:02 verbose #5568 > │ let v317 : US1 = US1_2(v316, v261) │
00:02:02 verbose #5569 > │ method4(v0, v1, v262, v3, v317) │
00:02:02 verbose #5570 > │ else │
00:02:02 verbose #5571 > │ let v320 : bool = '`' = v261 │
00:02:02 verbose #5572 > │ if v320 then │
00:02:02 verbose #5573 > │ let v321 : uint8 = 0uy │
00:02:02 verbose #5574 > │ let v322 : US1 = US1_2(v321, v261) │
00:02:02 verbose #5575 > │ method4(v0, v1, v262, v3, v322) │
00:02:02 verbose #5576 > │ else │
00:02:02 verbose #5577 > │ let v325 : bool = ' ' = v261 │
00:02:02 verbose #5578 > │ if v325 then │
00:02:02 verbose #5579 > │ let v326 : string = $"{v0} " │
00:02:02 verbose #5580 > │ method5(v326, v1, v262, v3) │
00:02:02 verbose #5581 > │ else │
00:02:02 verbose #5582 > │ let v329 : string = $"{v0}{v261}" │
00:02:02 verbose #5583 > │ method5(v329, v1, v262, v3) │
00:02:02 verbose #5584 > │ | _ -> │
00:02:02 verbose #5585 > │ let v344 : bool = '\\' = v259 │
00:02:02 verbose #5586 > │ if v344 then │
00:02:02 verbose #5587 > │ let v346 : bool = v0 = "" │
00:02:02 verbose #5588 > │ let v350 : UH0 = │
00:02:02 verbose #5589 > │ if v346 then │
00:02:02 verbose #5590 > │ v1 │
00:02:02 verbose #5591 > │ else │
00:02:02 verbose #5592 > │ let v347 : UH0 = UH0_0 │
00:02:02 verbose #5593 > │ let v348 : UH0 = UH0_1(v0, v347) │
00:02:02 verbose #5594 > │ method6(v1, v348) │
00:02:02 verbose #5595 > │ struct (v350, v0) │
00:02:02 verbose #5596 > │ else │
00:02:02 verbose #5597 > │ let v351 : bool = '`' = v259 │
00:02:02 verbose #5598 > │ if v351 then │
00:02:02 verbose #5599 > │ let v353 : bool = v0 = "" │
00:02:02 verbose #5600 > │ let v357 : UH0 = │
00:02:02 verbose #5601 > │ if v353 then │
00:02:02 verbose #5602 > │ v1 │
00:02:02 verbose #5603 > │ else │
00:02:02 verbose #5604 > │ let v354 : UH0 = UH0_0 │
00:02:02 verbose #5605 > │ let v355 : UH0 = UH0_1(v0, v354) │
00:02:02 verbose #5606 > │ method6(v1, v355) │
00:02:02 verbose #5607 > │ struct (v357, v0) │
00:02:02 verbose #5608 > │ else │
00:02:02 verbose #5609 > │ let v359 : bool = v0 = "" │
00:02:02 verbose #5610 > │ let v363 : UH0 = │
00:02:02 verbose #5611 > │ if v359 then │
00:02:02 verbose #5612 > │ v1 │
00:02:02 verbose #5613 > │ else │
00:02:02 verbose #5614 > │ let v360 : UH0 = UH0_0 │
00:02:02 verbose #5615 > │ let v361 : UH0 = UH0_1(v0, v360) │
00:02:02 verbose #5616 > │ │
00:02:02 verbose #5617 > │ (0,1)-(0,1) typecheck error The block following this 'let' is unfinished. │
00:02:02 verbose #5618 > │ Every code block is an expression and must have a result. 'let' cannot be │
00:02:02 verbose #5619 > │ the final code element in a block. Consider giving this block an explicit │
00:02:02 verbose #5620 > │ result. │
00:02:02 verbose #5621 > │ (0,1)-(0,1) typecheck error The block following this 'let' is unfinished. │
00:02:02 verbose #5622 > │ Every code block is an expression and must have a result. 'let' cannot be │
00:02:02 verbose #5623 > │ the final code element in a block. Consider giving this block an explicit │
00:02:02 verbose #5624 > │ result. │
00:02:02 verbose #5625 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5626 >
00:02:02 verbose #5627 > ╭─[ 215.15ms - stderr ]────────────────────────────────────────────────────────╮
00:02:02 verbose #5628 > │ Stopped due to error │
00:02:02 verbose #5629 > │ │
00:02:02 verbose #5630 > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:02 verbose #5631 > Exiting...
00:02:02 verbose #5632 > 00:00:18 debug #5 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:02:03 verbose #5633 > >
00:02:03 verbose #5634 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:03 verbose #5635 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:03 verbose #5636 > > │ # runtime │
00:02:03 verbose #5637 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:03 verbose #5638 > >
00:02:03 verbose #5639 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:03 verbose #5640 > > open rust_operators
00:02:03 verbose #5641 > > open sm'_operators
00:02:03 verbose #5642 > >
00:02:03 verbose #5643 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:02:03 verbose #5644 > > #r
00:02:03 verbose #5645 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:02:03 verbose #5646 > > Net.Interactive.Spiral.dll"
00:02:03 verbose #5647 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:02:03 verbose #5648 > > #r
00:02:03 verbose #5649 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:02:03 verbose #5650 > > Net.Interactive.dll"
00:02:03 verbose #5651 > > open type Microsoft.DotNet.Interactive.Kernel
00:02:06 verbose #5652 > >
00:02:06 verbose #5653 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5654 > > //// test
00:02:06 verbose #5655 > >
00:02:06 verbose #5656 > > open testing
00:02:06 verbose #5657 > > open file_system_operators
00:02:06 verbose #5658 > >
00:02:06 verbose #5659 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5660 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5661 > > │ ## types │
00:02:06 verbose #5662 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5663 > >
00:02:06 verbose #5664 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5665 > > inl types () =
00:02:06 verbose #5666 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5667 > > Fable.Core.Emit(\"clap::Arg\")>]]\n#endif\ntype clap_Arg = class end"
00:02:06 verbose #5668 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5669 > > Fable.Core.Emit(\"clap::ArgAction\")>]]\n#endif\ntype clap_ArgAction = class
00:02:06 verbose #5670 > > end"
00:02:06 verbose #5671 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5672 > > Fable.Core.Emit(\"clap::Command\")>]]\n#endif\ntype clap_Command = class end"
00:02:06 verbose #5673 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5674 > > Fable.Core.Emit(\"clap::ArgMatches\")>]]\n#endif\ntype clap_ArgMatches = class
00:02:06 verbose #5675 > > end"
00:02:06 verbose #5676 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5677 > > Fable.Core.Emit(\"clap::builder::ValueRange\")>]]\n#endif\ntype
00:02:06 verbose #5678 > > clap_builder_ValueRange = class end"
00:02:06 verbose #5679 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5680 > > Fable.Core.Emit(\"clap::builder::ValueParser\")>]]\n#endif\ntype
00:02:06 verbose #5681 > > clap_builder_ValueParser = class end"
00:02:06 verbose #5682 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5683 > > Fable.Core.Emit(\"clap::builder::PossibleValue\")>]]\n#endif\ntype
00:02:06 verbose #5684 > > clap_builder_PossibleValue = class end"
00:02:06 verbose #5685 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5686 > > Fable.Core.Emit(\"std::process::Child\")>]]\n#endif\ntype std_process_Child =
00:02:06 verbose #5687 > > class end"
00:02:06 verbose #5688 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5689 > > Fable.Core.Emit(\"std::process::ChildStderr\")>]]\n#endif\ntype
00:02:06 verbose #5690 > > std_process_ChildStderr = class end"
00:02:06 verbose #5691 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5692 > > Fable.Core.Emit(\"std::process::ChildStdout\")>]]\n#endif\ntype
00:02:06 verbose #5693 > > std_process_ChildStdout = class end"
00:02:06 verbose #5694 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5695 > > Fable.Core.Emit(\"std::process::ChildStdin\")>]]\n#endif\ntype
00:02:06 verbose #5696 > > std_process_ChildStdin = class end"
00:02:06 verbose #5697 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5698 > > Fable.Core.Emit(\"std::process::Command\")>]]\n#endif\ntype std_process_Command
00:02:06 verbose #5699 > > = class end"
00:02:06 verbose #5700 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5701 > > Fable.Core.Emit(\"std::process::ExitStatus\")>]]\n#endif\ntype
00:02:06 verbose #5702 > > std_process_ExitStatus = class end"
00:02:06 verbose #5703 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5704 > > Fable.Core.Emit(\"std::process::Output\")>]]\n#endif\ntype std_process_Output =
00:02:06 verbose #5705 > > class end"
00:02:06 verbose #5706 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:02:06 verbose #5707 > > Fable.Core.Emit(\"std::process::Stdio\")>]]\n#endif\ntype std_process_Stdio =
00:02:06 verbose #5708 > > class end"
00:02:06 verbose #5709 > >
00:02:06 verbose #5710 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5711 > > inl types () =
00:02:06 verbose #5712 > > types ()
00:02:06 verbose #5713 > > am'.types ()
00:02:06 verbose #5714 > > async.types ()
00:02:06 verbose #5715 > > env.types ()
00:02:06 verbose #5716 > > rust.types ()
00:02:06 verbose #5717 > > seq.types ()
00:02:06 verbose #5718 > > sm'.types ()
00:02:06 verbose #5719 > > threading.types ()
00:02:06 verbose #5720 > >
00:02:06 verbose #5721 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5722 > > //// test
00:02:06 verbose #5723 > >
00:02:06 verbose #5724 > > inl types () =
00:02:06 verbose #5725 > > file_system.types ()
00:02:06 verbose #5726 > > types ()
00:02:06 verbose #5727 > >
00:02:06 verbose #5728 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5729 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5730 > > │ ## process_child │
00:02:06 verbose #5731 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5732 > >
00:02:06 verbose #5733 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5734 > > nominal process_child = $'std_process_Child'
00:02:06 verbose #5735 > >
00:02:06 verbose #5736 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5737 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5738 > > │ ## process_child_stderr │
00:02:06 verbose #5739 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5740 > >
00:02:06 verbose #5741 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5742 > > nominal process_child_stderr = $"std_process_ChildStderr"
00:02:06 verbose #5743 > >
00:02:06 verbose #5744 > > inl process_child_stderr (child : rust.ref' (rust.mut' process_child)) :
00:02:06 verbose #5745 > > rust.ref' (rust.mut' (optionm'.option' process_child_stderr)) =
00:02:06 verbose #5746 > > !\\(child, $'"&mut $0.stderr"')
00:02:06 verbose #5747 > >
00:02:06 verbose #5748 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5749 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5750 > > │ ## process_child_stdout │
00:02:06 verbose #5751 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5752 > >
00:02:06 verbose #5753 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5754 > > nominal process_child_stdout = $"std_process_ChildStdout"
00:02:06 verbose #5755 > >
00:02:06 verbose #5756 > > inl process_child_stdout (child : rust.ref' (rust.mut' process_child)) :
00:02:06 verbose #5757 > > rust.ref' (rust.mut' (optionm'.option' process_child_stdout)) =
00:02:06 verbose #5758 > > !\\(child, $'"&mut $0.stdout"')
00:02:06 verbose #5759 > >
00:02:06 verbose #5760 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5761 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5762 > > │ ## process_child_stdin │
00:02:06 verbose #5763 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5764 > >
00:02:06 verbose #5765 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5766 > > nominal process_child_stdin = $"std_process_ChildStdin"
00:02:06 verbose #5767 > >
00:02:06 verbose #5768 > > inl process_child_stdin (child : rust.ref' (rust.mut' process_child)) :
00:02:06 verbose #5769 > > rust.ref' (rust.mut' (optionm'.option' process_child_stdin)) =
00:02:06 verbose #5770 > > !\\(child, $'"&mut $0.stdin"')
00:02:06 verbose #5771 > >
00:02:06 verbose #5772 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5773 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5774 > > │ ## process_command │
00:02:06 verbose #5775 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5776 > >
00:02:06 verbose #5777 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5778 > > nominal process_command = $'std_process_Command'
00:02:06 verbose #5779 > >
00:02:06 verbose #5780 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5781 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5782 > > │ ## process_stdio │
00:02:06 verbose #5783 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5784 > >
00:02:06 verbose #5785 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5786 > > nominal process_stdio = $'std_process_Stdio'
00:02:06 verbose #5787 > >
00:02:06 verbose #5788 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5789 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5790 > > │ ## process_output │
00:02:06 verbose #5791 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5792 > >
00:02:06 verbose #5793 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5794 > > nominal process_output = $'std_process_Output'
00:02:06 verbose #5795 > >
00:02:06 verbose #5796 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5797 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5798 > > │ ## process_exit_status │
00:02:06 verbose #5799 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5800 > >
00:02:06 verbose #5801 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5802 > > nominal process_exit_status = $'std_process_ExitStatus'
00:02:06 verbose #5803 > >
00:02:06 verbose #5804 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5805 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5806 > > │ ## process_output_status │
00:02:06 verbose #5807 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5808 > >
00:02:06 verbose #5809 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5810 > > inl process_output_status (output : process_output) : process_exit_status =
00:02:06 verbose #5811 > > !\\(output, $'"$0.status"')
00:02:06 verbose #5812 > >
00:02:06 verbose #5813 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5814 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5815 > > │ ## process_exit_status_code │
00:02:06 verbose #5816 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5817 > >
00:02:06 verbose #5818 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5819 > > inl process_exit_status_code (status : process_exit_status) : optionm'.option'
00:02:06 verbose #5820 > > i32 =
00:02:06 verbose #5821 > > !\\(status, $'"$0.code()"')
00:02:06 verbose #5822 > >
00:02:06 verbose #5823 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5824 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5825 > > │ ## os_platform │
00:02:06 verbose #5826 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5827 > >
00:02:06 verbose #5828 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5829 > > nominal os_platform' = $'System.Runtime.InteropServices.OSPlatform'
00:02:06 verbose #5830 > >
00:02:06 verbose #5831 > > union os_platform =
00:02:06 verbose #5832 > > | Windows
00:02:06 verbose #5833 > >
00:02:06 verbose #5834 > > inl os_platform = function
00:02:06 verbose #5835 > > | Windows => $'`os_platform'.Windows' : os_platform'
00:02:06 verbose #5836 > >
00:02:06 verbose #5837 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5838 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5839 > > │ ## is_os_platform │
00:02:06 verbose #5840 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5841 > >
00:02:06 verbose #5842 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5843 > > inl is_os_platform (x : os_platform') : bool =
00:02:06 verbose #5844 > > x |> $'System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform'
00:02:06 verbose #5845 > >
00:02:06 verbose #5846 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5847 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5848 > > │ ## is_windows │
00:02:06 verbose #5849 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5850 > >
00:02:06 verbose #5851 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5852 > > inl is_windows () : bool =
00:02:06 verbose #5853 > > run_target function
00:02:06 verbose #5854 > > | Fsharp (Native) => fun () =>
00:02:06 verbose #5855 > > Windows |> os_platform |> is_os_platform
00:02:06 verbose #5856 > > | Rust (Native) => fun () =>
00:02:06 verbose #5857 > > !\($'"cfg\!(windows)"')
00:02:06 verbose #5858 > > | _ => fun () => null ()
00:02:06 verbose #5859 > >
00:02:06 verbose #5860 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5861 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5862 > > │ ## get_executable_suffix │
00:02:06 verbose #5863 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5864 > >
00:02:06 verbose #5865 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5866 > > inl get_executable_suffix () =
00:02:06 verbose #5867 > > if is_windows ()
00:02:06 verbose #5868 > > then ".exe"
00:02:06 verbose #5869 > > else ""
00:02:06 verbose #5870 > >
00:02:06 verbose #5871 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5872 > > //// test
00:02:06 verbose #5873 > >
00:02:06 verbose #5874 > > get_executable_suffix ()
00:02:06 verbose #5875 > >
00:02:06 verbose #5876 > >
00:02:06 verbose #5877 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5878 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5879 > > │ ## quoted │
00:02:06 verbose #5880 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5881 > >
00:02:06 verbose #5882 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5883 > > union quoted =
00:02:06 verbose #5884 > > | Quoted
00:02:06 verbose #5885 > > | NotQuoted
00:02:06 verbose #5886 > >
00:02:06 verbose #5887 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:06 verbose #5888 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:06 verbose #5889 > > │ ## split_command │
00:02:06 verbose #5890 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:06 verbose #5891 > >
00:02:06 verbose #5892 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5893 > > union command_parse_step =
00:02:06 verbose #5894 > > | Start
00:02:06 verbose #5895 > > | Path : quoted
00:02:06 verbose #5896 > > | Arguments
00:02:06 verbose #5897 > >
00:02:06 verbose #5898 > > inl split_command (command : string) =
00:02:06 verbose #5899 > > let rec loop (path, args) (chars : list char) step =
00:02:06 verbose #5900 > > match step, chars with
00:02:06 verbose #5901 > > | _, (('"' | '\'') :: tail) when path = "" => loop (path, args) tail
00:02:06 verbose #5902 > > (Path Quoted)
00:02:06 verbose #5903 > > | Path (Quoted), (('"' | '\'') :: tail) => loop (path, args) tail (Path
00:02:06 verbose #5904 > > NotQuoted)
00:02:06 verbose #5905 > > | Path (Quoted), (' ' :: tail) => loop ($'$"{!path} "', args) tail (Path
00:02:06 verbose #5906 > > Quoted)
00:02:06 verbose #5907 > > | (Start | Path _), (' ' :: tail) => loop (path, args) tail Arguments
00:02:06 verbose #5908 > > | Arguments, (char :: tail) => loop (path, $'$"{!args}{!char}"') tail
00:02:06 verbose #5909 > > Arguments
00:02:06 verbose #5910 > > | _, (char :: tail) => loop ($'$"{!path}{!char}"', args) tail step
00:02:06 verbose #5911 > > | _ => path |> sm'.replace @"\" "/", args
00:02:06 verbose #5912 > > loop (join "", "") (command |> sm'.to_char_array |> am'.to_list' |>
00:02:06 verbose #5913 > > listm'.unbox) Start
00:02:06 verbose #5914 > >
00:02:06 verbose #5915 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:06 verbose #5916 > > //// test
00:02:06 verbose #5917 > >
00:02:06 verbose #5918 > > split_command ""
00:02:06 verbose #5919 > > |> _assert_eq ("", "")
00:02:06 verbose #5920 > >
00:02:06 verbose #5921 > > split_command "/a/b/c"
00:02:06 verbose #5922 > > |> _assert_eq ("/a/b/c", "")
00:02:06 verbose #5923 > >
00:02:06 verbose #5924 > > split_command "cat file.txt"
00:02:06 verbose #5925 > > |> _assert_eq ("cat", "file.txt")
00:02:06 verbose #5926 > >
00:02:06 verbose #5927 > > split_command $'"""..\\..\\file.exe file1.txt file2.txt"""'
00:02:06 verbose #5928 > > |> _assert_eq ("../../file.exe", "file1.txt file2.txt")
00:02:06 verbose #5929 > >
00:02:06 verbose #5930 > > split_command $'\@"c:\\dir\\file.exe ""file1.txt file2.txt"""'
00:02:06 verbose #5931 > > |> _assert_eq ("c:/dir/file.exe", $'\@"""file1.txt file2.txt"""')
00:02:06 verbose #5932 > >
00:02:06 verbose #5933 > > split_command $'\@"""..\\..\\dir name\\file.exe"" ""file 1.txt"" file2.txt"'
00:02:06 verbose #5934 > > |> _assert_eq ("../../dir name/file.exe", $'\@"""file 1.txt"" file2.txt"')
00:02:06 verbose #5935 > >
00:02:06 verbose #5936 > > split_command $'\@"""..\\..\\file 1.exe"" -c \\\\""echo 1\\\\"""'
00:02:06 verbose #5937 > > |> _assert_eq ("../../file 1.exe", $'\@"-c \\\\""echo 1\\\\"""')
00:02:06 verbose #5938 > >
00:02:06 verbose #5939 > > split_command $'\@"..\\..\\file 1.exe -c \\\\""echo 1\\\\"""'
00:02:06 verbose #5940 > > |> _assert_eq ("../../file", $'\@"1.exe -c \\\\""echo 1\\\\"""')
00:02:07 verbose #5941 > >
00:02:07 verbose #5942 > > ╭─[ 883.54ms - stdout ]────────────────────────────────────────────────────────╮
00:02:07 verbose #5943 > > │ assert_eq / actual: struct ("", "") / expected: struct ("", "") │
00:02:07 verbose #5944 > > │ assert_eq / actual: struct ("/a/b/c", "") / expected: struct ("/a/b/c", "") │
00:02:07 verbose #5945 > > │ assert_eq / actual: struct ("cat", "file.txt") / expected: struct ("cat", │
00:02:07 verbose #5946 > > │ "file.txt") │
00:02:07 verbose #5947 > > │ assert_eq / actual: struct ("../../file.exe", "file1.txt file2.txt") / │
00:02:07 verbose #5948 > > │ expected: struct ("../../file.exe", "file1.txt file2.txt") │
00:02:07 verbose #5949 > > │ assert_eq / actual: struct ("c:/dir/file.exe", ""file1.txt file2.txt"") / │
00:02:07 verbose #5950 > > │ expected: struct ("c:/dir/file.exe", ""file1.txt file2.txt"") │
00:02:07 verbose #5951 > > │ assert_eq / actual: struct ("../../dir name/file.exe", ""file 1.txt" │
00:02:07 verbose #5952 > > │ file2.txt") / expected: struct ("../../dir name/file.exe", ""file 1.txt" │
00:02:07 verbose #5953 > > │ file2.txt") │
00:02:07 verbose #5954 > > │ assert_eq / actual: struct ("../../file 1.exe", "-c \\"echo 1\\"") / │
00:02:07 verbose #5955 > > │ expected: struct ("../../file 1.exe", "-c \\"echo 1\\"") │
00:02:07 verbose #5956 > > │ assert_eq / actual: struct ("../../file", "1.exe -c \\"echo 1\\"") / │
00:02:07 verbose #5957 > > │ expected: struct ("../../file", "1.exe -c \\"echo 1\\"") │
00:02:07 verbose #5958 > > │ │
00:02:07 verbose #5959 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:07 verbose #5960 > >
00:02:07 verbose #5961 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:07 verbose #5962 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:07 verbose #5963 > > │ ## process │
00:02:07 verbose #5964 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:07 verbose #5965 > >
00:02:07 verbose #5966 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:07 verbose #5967 > > nominal process = $'System.Diagnostics.Process'
00:02:07 verbose #5968 > > nominal process_start_info = $'System.Diagnostics.ProcessStartInfo'
00:02:07 verbose #5969 > > nominal data_received_event_args = $'System.Diagnostics.DataReceivedEventArgs'
00:02:07 verbose #5970 > >
00:02:07 verbose #5971 > > inl new_process (process_start_info : process_start_info) : process =
00:02:07 verbose #5972 > > $'new `process (StartInfo = !process_start_info)'
00:02:07 verbose #5973 > >
00:02:07 verbose #5974 > > inl process_start (process : process) : bool =
00:02:07 verbose #5975 > > $'!process.Start' ()
00:02:07 verbose #5976 > >
00:02:07 verbose #5977 > > inl process_exit_code (process : process) : i32 =
00:02:07 verbose #5978 > > $'!process.ExitCode'
00:02:07 verbose #5979 > >
00:02:07 verbose #5980 > > inl process_id (process : process) : i32 =
00:02:07 verbose #5981 > > $'!process.Id'
00:02:07 verbose #5982 > >
00:02:07 verbose #5983 > > inl process_has_exited (process : process) : bool =
00:02:07 verbose #5984 > > run_target function
00:02:07 verbose #5985 > > | Fsharp (Native) => fun () =>
00:02:07 verbose #5986 > > $'!process.HasExited'
00:02:07 verbose #5987 > > | _ => fun () => null ()
00:02:07 verbose #5988 > >
00:02:07 verbose #5989 > > inl process_kill (process : process) : () =
00:02:07 verbose #5990 > > run_target function
00:02:07 verbose #5991 > > | Fsharp (Native) => fun () =>
00:02:07 verbose #5992 > > $'!process.Kill' ()
00:02:07 verbose #5993 > > | _ => fun () => null ()
00:02:07 verbose #5994 > >
00:02:07 verbose #5995 > > inl process_begin_error_read_line (process : process) : () =
00:02:07 verbose #5996 > > $'!process.BeginErrorReadLine' ()
00:02:07 verbose #5997 > >
00:02:07 verbose #5998 > > inl process_begin_output_read_line (process : process) : () =
00:02:07 verbose #5999 > > $'!process.BeginOutputReadLine' ()
00:02:07 verbose #6000 > >
00:02:07 verbose #6001 > > inl process_add_output_data_received fn (process : process) : () =
00:02:07 verbose #6002 > > $'!process.OutputDataReceived.Add !fn '
00:02:07 verbose #6003 > >
00:02:07 verbose #6004 > > inl process_add_error_data_received fn (process : process) : () =
00:02:07 verbose #6005 > > $'!process.ErrorDataReceived.Add !fn '
00:02:07 verbose #6006 > >
00:02:07 verbose #6007 > > inl process_wait_for_exit_async (ct : threading.cancellation_token) (process :
00:02:07 verbose #6008 > > process) : async.task () =
00:02:07 verbose #6009 > > $'!process.WaitForExitAsync !ct '
00:02:07 verbose #6010 > >
00:02:07 verbose #6011 > > inl event_data (e : data_received_event_args) : string =
00:02:07 verbose #6012 > > $'!e.Data'
00:02:07 verbose #6013 > >
00:02:07 verbose #6014 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:07 verbose #6015 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:07 verbose #6016 > > │ ## execution_line │
00:02:07 verbose #6017 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:07 verbose #6018 > >
00:02:07 verbose #6019 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:07 verbose #6020 > > type execution_line =
00:02:07 verbose #6021 > > {
00:02:07 verbose #6022 > > process_id : int
00:02:07 verbose #6023 > > line : string
00:02:07 verbose #6024 > > error : bool
00:02:07 verbose #6025 > > }
00:02:07 verbose #6026 > >
00:02:07 verbose #6027 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:07 verbose #6028 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:07 verbose #6029 > > │ ## execution_options │
00:02:07 verbose #6030 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:07 verbose #6031 > >
00:02:07 verbose #6032 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:07 verbose #6033 > > type execution_options =
00:02:07 verbose #6034 > > {
00:02:07 verbose #6035 > > command : string
00:02:07 verbose #6036 > > cancellation_token : optionm'.option' threading.cancellation_token
00:02:07 verbose #6037 > > environment_variables : array_base (string * string)
00:02:07 verbose #6038 > > on_line : optionm'.option' (execution_line -> async.async ())
00:02:07 verbose #6039 > > stdin : optionm'.option' (threading.arc (threading.mutex
00:02:07 verbose #6040 > > process_child_stdin) -> ())
00:02:07 verbose #6041 > > trace : bool
00:02:07 verbose #6042 > > working_directory : optionm'.option' string
00:02:07 verbose #6043 > > }
00:02:07 verbose #6044 > >
00:02:07 verbose #6045 > > inl execution_options (fn : execution_options -> execution_options) :
00:02:07 verbose #6046 > > execution_options =
00:02:07 verbose #6047 > > {
00:02:07 verbose #6048 > > command = ""
00:02:07 verbose #6049 > > cancellation_token = None |> optionm'.box
00:02:07 verbose #6050 > > environment_variables = ;[[]]
00:02:07 verbose #6051 > > on_line = None |> optionm'.box
00:02:07 verbose #6052 > > stdin = None |> optionm'.box
00:02:07 verbose #6053 > > trace = true
00:02:07 verbose #6054 > > working_directory = None |> optionm'.box
00:02:07 verbose #6055 > > }
00:02:07 verbose #6056 > > |> fn
00:02:07 verbose #6057 > >
00:02:07 verbose #6058 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:07 verbose #6059 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:07 verbose #6060 > > │ ## execute_with_options_async │
00:02:07 verbose #6061 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:07 verbose #6062 > >
00:02:07 verbose #6063 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:07 verbose #6064 > > let execute_with_options_async (options : execution_options) : _ (i32 * string)
00:02:07 verbose #6065 > > =
00:02:07 verbose #6066 > > run_target function
00:02:07 verbose #6067 > > | Fsharp (Native) => fun () =>
00:02:07 verbose #6068 > > fun () =>
00:02:07 verbose #6069 > > inl file_name, arguments = options.command |> split_command
00:02:07 verbose #6070 > > inl working_directory = options.working_directory |>
00:02:07 verbose #6071 > > optionm'.unbox |> optionm'.default_value ""
00:02:07 verbose #6072 > >
00:02:07 verbose #6073 > > trace Debug (fun () => $'$"execute_with_options_async / options:
00:02:07 verbose #6074 > > %A{!options}"') (join _locals)
00:02:07 verbose #6075 > >
00:02:07 verbose #6076 > > inl utf8 = sm'.encoding_utf8 ()
00:02:07 verbose #6077 > > inl start_info : process_start_info =
00:02:07 verbose #6078 > > $'System.Diagnostics.ProcessStartInfo (Arguments = !arguments,
00:02:07 verbose #6079 > > StandardOutputEncoding = !utf8, WorkingDirectory = !working_directory, FileName
00:02:07 verbose #6080 > > = !file_name, CreateNoWindow = true, RedirectStandardError = true,
00:02:07 verbose #6081 > > RedirectStandardOutput = true, UseShellExecute = false)'
00:02:07 verbose #6082 > >
00:02:07 verbose #6083 > > (a options.environment_variables : _ i32 _)
00:02:07 verbose #6084 > > |> am.iter fun key, value =>
00:02:07 verbose #6085 > > $'!start_info.EnvironmentVariables.[[!key]] <- !value '
00:02:07 verbose #6086 > >
00:02:07 verbose #6087 > > inl proc = start_info |> new_process |> use
00:02:07 verbose #6088 > > inl output : _ string = threading.new_concurrent_stack ()
00:02:07 verbose #6089 > >
00:02:07 verbose #6090 > > inl event error (e : data_received_event_args) = async.new_async
00:02:07 verbose #6091 > > fun () =>
00:02:07 verbose #6092 > > inl data = e |> event_data
00:02:07 verbose #6093 > > if data <> null () then
00:02:07 verbose #6094 > > match options.on_line |> optionm'.unbox with
00:02:07 verbose #6095 > > | Some on_line =>
00:02:07 verbose #6096 > > on_line
00:02:07 verbose #6097 > > {
00:02:07 verbose #6098 > > process_id = proc |> process_id
00:02:07 verbose #6099 > > line = data
00:02:07 verbose #6100 > > error = error
00:02:07 verbose #6101 > > }
00:02:07 verbose #6102 > > |> async.do
00:02:07 verbose #6103 > > | None => ()
00:02:07 verbose #6104 > >
00:02:07 verbose #6105 > > inl text =
00:02:07 verbose #6106 > > if error
00:02:07 verbose #6107 > > then $'$"\! {!data}"'
00:02:07 verbose #6108 > > else $'$"> {!data}"'
00:02:07 verbose #6109 > > if options.trace
00:02:07 verbose #6110 > > then trace Verbose (fun () => text) _locals
00:02:07 verbose #6111 > > else text |> console.write_line
00:02:07 verbose #6112 > >
00:02:07 verbose #6113 > > inl l = if error then $'"\\u001b[[7;4m"' else ""
00:02:07 verbose #6114 > > inl r = if error then $'"\\u001b[[0m"' else ""
00:02:07 verbose #6115 > > output |> threading.concurrent_stack_push
00:02:07 verbose #6116 > > $'$"{!l}{!data}{!r}"'
00:02:07 verbose #6117 > >
00:02:07 verbose #6118 > > proc |> process_add_output_data_received (event false >>
00:02:07 verbose #6119 > > async.start_immediate)
00:02:07 verbose #6120 > > proc |> process_add_error_data_received (event true >>
00:02:07 verbose #6121 > > async.start_immediate)
00:02:07 verbose #6122 > >
00:02:07 verbose #6123 > > if proc |> process_start |> not
00:02:07 verbose #6124 > > then failwith $'$"execute_with_options_async / process_start
00:02:07 verbose #6125 > > error"'
00:02:07 verbose #6126 > >
00:02:07 verbose #6127 > > proc |> process_begin_error_read_line
00:02:07 verbose #6128 > > proc |> process_begin_output_read_line
00:02:07 verbose #6129 > >
00:02:07 verbose #6130 > > inl ct =
00:02:07 verbose #6131 > > options.cancellation_token
00:02:07 verbose #6132 > > |> optionm'.unbox
00:02:07 verbose #6133 > > |> optionm'.default_with threading.token_none
00:02:07 verbose #6134 > > |> async.merge_cancellation_token_with_default_async
00:02:07 verbose #6135 > > |> async.let'
00:02:07 verbose #6136 > >
00:02:07 verbose #6137 > > ct |> threading.token_register fun () =>
00:02:07 verbose #6138 > > if proc |> process_has_exited |> not
00:02:07 verbose #6139 > > then proc |> process_kill
00:02:07 verbose #6140 > > |> use
00:02:07 verbose #6141 > > |> ignore
00:02:07 verbose #6142 > >
00:02:07 verbose #6143 > > inl exit_code : i32 =
00:02:07 verbose #6144 > > fun () =>
00:02:07 verbose #6145 > > try_unit
00:02:07 verbose #6146 > > fun () =>
00:02:07 verbose #6147 > > proc
00:02:07 verbose #6148 > > |> process_wait_for_exit_async ct
00:02:07 verbose #6149 > > |> async.await_task
00:02:07 verbose #6150 > > |> async.do
00:02:07 verbose #6151 > > proc |> process_exit_code |> return
00:02:07 verbose #6152 > > fun ex =>
00:02:07 verbose #6153 > > // with :?
00:02:07 verbose #6154 > > System.Threading.Tasks.TaskCanceledException as ex =>
00:02:07 verbose #6155 > > inl ex' = ex |> sm'.format_exception
00:02:07 verbose #6156 > > output |> threading.concurrent_stack_push ex'
00:02:07 verbose #6157 > > inl ex : async.task_canceled_exception = ex |>
00:02:07 verbose #6158 > > unbox
00:02:07 verbose #6159 > > trace Warning (fun () =>
00:02:07 verbose #6160 > > $'$"execute_with_options_async / WaitForExitAsync / ex: %A{!ex}"') (join
00:02:07 verbose #6161 > > _locals)
00:02:07 verbose #6162 > > (limit.min : i32) |> return
00:02:07 verbose #6163 > > |> async.new_async_unit
00:02:07 verbose #6164 > > |> async.let'
00:02:07 verbose #6165 > >
00:02:07 verbose #6166 > > inl output =
00:02:07 verbose #6167 > > output
00:02:07 verbose #6168 > > |> seq.rev''
00:02:07 verbose #6169 > > |> fun x => x : seq.seq' string
00:02:07 verbose #6170 > > |> sm'.concat "\n"
00:02:07 verbose #6171 > >
00:02:07 verbose #6172 > > trace Debug (fun () =>
00:02:07 verbose #6173 > > $'$"execute_with_options_async / exit_code: {!exit_code}
00:02:07 verbose #6174 > > output.Length: {!output.Length}"'
00:02:07 verbose #6175 > > ) (join _locals)
00:02:07 verbose #6176 > >
00:02:07 verbose #6177 > > (exit_code, output) |> return
00:02:07 verbose #6178 > > |> async.new_async_unit
00:02:07 verbose #6179 > > | _ => fun () =>
00:02:07 verbose #6180 > > global "#if FABLE_COMPILER\n[[<CompilationRepresentation
00:02:07 verbose #6181 > > (CompilationRepresentationFlags.ModuleSuffix)>]]\nmodule System =\n module
00:02:07 verbose #6182 > > Diagnostics =\n type Process = unit\n type DataReceivedEventArgs =
00:02:07 verbose #6183 > > unit\n#endif"
00:02:07 verbose #6184 > > null ()
00:02:07 verbose #6185 > >
00:02:07 verbose #6186 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:07 verbose #6187 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:07 verbose #6188 > > │ ## execute_async │
00:02:07 verbose #6189 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:07 verbose #6190 > >
00:02:07 verbose #6191 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:07 verbose #6192 > > inl execute_async command =
00:02:07 verbose #6193 > > execution_options fun x => { x with
00:02:07 verbose #6194 > > command = command
00:02:07 verbose #6195 > > }
00:02:07 verbose #6196 > > |> execute_with_options_async
00:02:07 verbose #6197 > >
00:02:07 verbose #6198 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:07 verbose #6199 > > //// test
00:02:07 verbose #6200 > >
00:02:07 verbose #6201 > > types ()
00:02:07 verbose #6202 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:02:07 verbose #6203 > > disposable |> use |> ignore
00:02:07 verbose #6204 > > inl file_name = "test.txt"
00:02:07 verbose #6205 > > inl path = temp_folder </> file_name
00:02:07 verbose #6206 > >
00:02:07 verbose #6207 > > inl content = "╭─[[ 你好,世界!こんにちは世界! ]]─╮"
00:02:07 verbose #6208 > > fun () =>
00:02:07 verbose #6209 > > inl exit_code, result = execute_async $'\@$"pwsh -c ""Get-Content
00:02:07 verbose #6210 > > {!path}"""' |> async.let'
00:02:07 verbose #6211 > > exit_code |> join _assert_eq 1
00:02:07 verbose #6212 > > result |> _assert_string_contains "not exist"
00:02:07 verbose #6213 > >
00:02:07 verbose #6214 > > content |> file_system.write_all_text_async path |> async.do
00:02:07 verbose #6215 > >
00:02:07 verbose #6216 > > execution_options fun x => { x with
00:02:07 verbose #6217 > > command = $'\@$"cat ""{!file_name}"""'
00:02:07 verbose #6218 > > working_directory = Some temp_folder |> optionm'.box
00:02:07 verbose #6219 > > }
00:02:07 verbose #6220 > > |> execute_with_options_async
00:02:07 verbose #6221 > > |> async.let'
00:02:07 verbose #6222 > > |> ignore
00:02:07 verbose #6223 > >
00:02:07 verbose #6224 > > execution_options fun x => { x with
00:02:07 verbose #6225 > > command = $'\@$"pwsh -c ""[[System.Console]]::OutputEncoding =
00:02:07 verbose #6226 > > [[System.Text.Encoding]]::UTF8; Get-Content {!file_name}"""'
00:02:07 verbose #6227 > > working_directory = Some temp_folder |> optionm'.box
00:02:07 verbose #6228 > > }
00:02:07 verbose #6229 > > |> execute_with_options_async
00:02:07 verbose #6230 > > |> async.return_await
00:02:07 verbose #6231 > > |> async.new_async_unit
00:02:07 verbose #6232 > > |> async.run_with_timeout 10000
00:02:07 verbose #6233 > > |> function
00:02:07 verbose #6234 > > | Some (exit_code, output) =>
00:02:07 verbose #6235 > > exit_code |> join _assert_eq 0i32
00:02:07 verbose #6236 > > output |> join _assert_eq content
00:02:07 verbose #6237 > > true
00:02:07 verbose #6238 > > | _ => false
00:02:07 verbose #6239 > > |> _assert_eq true
00:02:10 verbose #6240 > >
00:02:10 verbose #6241 > > ╭─[ 2.32s - stdout ]───────────────────────────────────────────────────────────╮
00:02:10 verbose #6242 > > │ 00:00:00 debug #1 execute_with_options_async / options: struct (None, │
00:02:10 verbose #6243 > > │ "pwsh -c "Get-Content │
00:02:10 verbose #6244 > > │ /tmp/!dotnet-repl/20240520-1342-3365-6577-60000003f314/test.txt"", │
00:02:10 verbose #6245 > > │ [||], None, None, true, None) │
00:02:10 verbose #6246 > > │ 00:00:00 verbose #2 ! Get-Content: Cannot find path │
00:02:10 verbose #6247 > > │ '/tmp/!dotnet-repl/20240520-1342-3365-6577-60000003f314/test.txt' because it │
00:02:10 verbose #6248 > > │ does not exist. │
00:02:10 verbose #6249 > > │ 00:00:00 debug #3 execute_with_options_async / exit_code: 1 / │
00:02:10 verbose #6250 > > │ output.Length: 150 │
00:02:10 verbose #6251 > > │ assert_eq / actual: 1 / expected: 1 │
00:02:10 verbose #6252 > > │ assert_string_contains / actual: "not exist" / expected: "38;5;2m│
00:02:10 verbose #6253 > > │ 31;1mGet-Content: Cannot find path │
00:02:10 verbose #6254 > > │ '/tmp/!dotnet-repl/20240520-1342-3365-6577-60000003f314/test.txt' because it │
00:02:10 verbose #6255 > > │ does not exist." │
00:02:10 verbose #6256 > > │ 00:00:00 debug #4 execute_with_options_async / options: struct (None, "cat │
00:02:10 verbose #6257 > > │ "test.txt"", [||], None, None, true, │
00:02:10 verbose #6258 > > │ Some "/tmp/!dotnet-repl/20240520-1342-3365-6577-60000003f314") │
00:02:10 verbose #6259 > > │ 00:00:00 verbose #5 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │
00:02:10 verbose #6260 > > │ 00:00:00 debug #6 execute_with_options_async / exit_code: 0 / │
00:02:10 verbose #6261 > > │ output.Length: 22 │
00:02:10 verbose #6262 > > │ 00:00:00 debug #7 execute_with_options_async / options: struct (None, │
00:02:10 verbose #6263 > > │ "pwsh -c "[System.Console]::OutputEncoding = [ │
00:02:10 verbose #6264 > > │ System.Text.Encoding]::UTF8; Get-Content test.txt"", │
00:02:10 verbose #6265 > > │ [||], None, None, true, │
00:02:10 verbose #6266 > > │ Some "/tmp/!dotnet-repl/20240520-1342-3365-6577-60000003f314") │
00:02:10 verbose #6267 > > │ 00:00:00 verbose #8 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │
00:02:10 verbose #6268 > > │ 00:00:00 debug #9 execute_with_options_async / exit_code: 0 / │
00:02:10 verbose #6269 > > │ output.Length: 22 │
00:02:10 verbose #6270 > > │ assert_eq / actual: 0 / expected: 0 │
00:02:10 verbose #6271 > > │ assert_eq / actual: "╭─[ 你好,世界!こんにちは世界! ]─╮" / expected: "╭─[ │
00:02:10 verbose #6272 > > │ 你好,世界!こんにちは世界! ]─╮" │
00:02:10 verbose #6273 > > │ assert_eq / actual: true / expected: true │
00:02:10 verbose #6274 > > │ │
00:02:10 verbose #6275 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:10 verbose #6276 > >
00:02:10 verbose #6277 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:10 verbose #6278 > > //// test
00:02:10 verbose #6279 > >
00:02:10 verbose #6280 > > file_system.types ()
00:02:10 verbose #6281 > > inl temp_dir, disposable = file_system.create_temp_directory ()
00:02:10 verbose #6282 > > disposable |> use |> ignore
00:02:10 verbose #6283 > > fun () =>
00:02:10 verbose #6284 > > inl path = temp_dir </> "test.txt"
00:02:10 verbose #6285 > > "0" |> file_system.write_all_text_async path |> async.do
00:02:10 verbose #6286 > >
00:02:10 verbose #6287 > > inl cts = threading.new_cancellation_token_source ()
00:02:10 verbose #6288 > > trace Debug (fun () => "1") _locals
00:02:10 verbose #6289 > > inl result =
00:02:10 verbose #6290 > > execution_options fun x => { x with
00:02:10 verbose #6291 > > command = $'\@$"pwsh -c ""Get-Content {!path}"""'
00:02:10 verbose #6292 > > cancellation_token = cts |> threading.cancellation_source_token |>
00:02:10 verbose #6293 > > Some |> optionm'.box
00:02:10 verbose #6294 > > }
00:02:10 verbose #6295 > > |> execute_with_options_async
00:02:10 verbose #6296 > > |> async.start_child
00:02:10 verbose #6297 > > |> async.let'
00:02:10 verbose #6298 > > trace Debug (fun () => "2") _locals
00:02:10 verbose #6299 > > async.sleep 100 |> async.do
00:02:10 verbose #6300 > > trace Debug (fun () => "3") _locals
00:02:10 verbose #6301 > > cts |> threading.cancellation_source_cancel
00:02:10 verbose #6302 > > trace Debug (fun () => "4") _locals
00:02:10 verbose #6303 > > inl exit_code, output = result |> async.let'
00:02:10 verbose #6304 > > trace Debug (fun () => "5") _locals
00:02:10 verbose #6305 > > (exit_code, output) |> return
00:02:10 verbose #6306 > > |> async.new_async_unit
00:02:10 verbose #6307 > > |> async.run_with_timeout 10000
00:02:10 verbose #6308 > > |> function
00:02:10 verbose #6309 > > | Some (exit_code, output) =>
00:02:10 verbose #6310 > > exit_code |> _assert_eq -2147483648i32
00:02:10 verbose #6311 > > output |> _assert_eq (join
00:02:10 verbose #6312 > > "System.Threading.Tasks.TaskCanceledException: A task was canceled.")
00:02:10 verbose #6313 > > true
00:02:10 verbose #6314 > > | _ => false
00:02:10 verbose #6315 > > |> _assert_eq true
00:02:11 verbose #6316 > >
00:02:11 verbose #6317 > > ╭─[ 1.38s - stdout ]───────────────────────────────────────────────────────────╮
00:02:11 verbose #6318 > > │ 00:00:00 debug #1 1 │
00:02:11 verbose #6319 > > │ 00:00:00 debug #2 2 │
00:02:11 verbose #6320 > > │ 00:00:00 debug #3 execute_with_options_async / options: struct (Some │
00:02:11 verbose #6321 > > │ System.Threading.CancellationToken, │
00:02:11 verbose #6322 > > │ "pwsh -c "Get-Content │
00:02:11 verbose #6323 > > │ /tmp/!dotnet-repl/20240520-1342-3571-7115-70000032b7d9/test.txt"", │
00:02:11 verbose #6324 > > │ [||], None, None, true, None) │
00:02:11 verbose #6325 > > │ 00:00:00 debug #4 3 │
00:02:11 verbose #6326 > > │ 00:00:00 debug #5 4 │
00:02:11 verbose #6327 > > │ 00:00:00 warning #6 execute_with_options_async / WaitForExitAsync / ex: │
00:02:11 verbose #6328 > > │ System.Threading.Tasks.TaskCanceledException: A task was canceled. │
00:02:11 verbose #6329 > > │ 00:00:00 debug #7 execute_with_options_async / exit_code: -2147483648 / │
00:02:11 verbose #6330 > > │ output.Length: 66 │
00:02:11 verbose #6331 > > │ 00:00:00 debug #8 5 │
00:02:11 verbose #6332 > > │ assert_eq / actual: -2147483648 / expected: -2147483648 │
00:02:11 verbose #6333 > > │ assert_eq / actual: "System.Threading.Tasks.TaskCanceledException: A task │
00:02:11 verbose #6334 > > │ was canceled." / expected: "System.Threading.Tasks.TaskCanceledException: A │
00:02:11 verbose #6335 > > │ task was canceled." │
00:02:11 verbose #6336 > > │ assert_eq / actual: true / expected: true │
00:02:11 verbose #6337 > > │ │
00:02:11 verbose #6338 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:11 verbose #6339 > >
00:02:11 verbose #6340 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:11 verbose #6341 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:11 verbose #6342 > > │ ## split_args │
00:02:11 verbose #6343 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:11 verbose #6344 > >
00:02:11 verbose #6345 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:11 verbose #6346 > > union args_parse_step =
00:02:11 verbose #6347 > > | Start
00:02:11 verbose #6348 > > | Quoted : char
00:02:11 verbose #6349 > > | Escaped : u8 * char
00:02:11 verbose #6350 > >
00:02:11 verbose #6351 > > let split_args (args : string) : array_base string =
00:02:11 verbose #6352 > > let rec loop (acc, current) (chars : list char) (step, last) =
00:02:11 verbose #6353 > > // trace Verbose (fun () => $'$"split_args / current: %A{!current}
00:02:11 verbose #6354 > > acc: %A{!acc} / step: %A{!step} / last: %A{!last}"') _locals
00:02:11 verbose #6355 > > match step, last, chars with
00:02:11 verbose #6356 > > | Start, _, ('"' :: tail) =>
00:02:11 verbose #6357 > > loop (acc, "") tail (Quoted '"', step)
00:02:11 verbose #6358 > > | Escaped _, _, (('\\' | '\`') & c :: tail) =>
00:02:11 verbose #6359 > > loop (acc, current) tail (Quoted c, step)
00:02:11 verbose #6360 > > | Escaped _, Start, ('"' :: tail) =>
00:02:11 verbose #6361 > > loop (acc, current) tail (step, step)
00:02:11 verbose #6362 > > | Quoted ('"'), Quoted _, ('"' :: tail) =>
00:02:11 verbose #6363 > > loop (acc, current) tail (Start, step)
00:02:11 verbose #6364 > > | Escaped (0, ('\\' | '\`') & c), Quoted ('"'), (c' :: tail) =>
00:02:11 verbose #6365 > > loop (acc, $'$"{!current}{!c}{!c'}"') tail (Quoted '"', step)
00:02:11 verbose #6366 > > | Quoted (('\\' | '\`') as c), _, ('"' :: tail)
00:02:11 verbose #6367 > > when last <>. Escaped (0, '\\') && last <>. Escaped (0, '\`') =>
00:02:11 verbose #6368 > > loop (acc, $'$"{!current}{!c}\\\""') tail (Quoted '"', step)
00:02:11 verbose #6369 > > | Quoted (('\\' | '\`') as c), Quoted _, ('"' :: tail) =>
00:02:11 verbose #6370 > > loop (acc, $'$"{!current}{!c}\\\""') tail (Quoted '"', step)
00:02:11 verbose #6371 > > | Quoted ('\\' | '\`'), _, ('"' :: tail) =>
00:02:11 verbose #6372 > > loop (acc, current) tail (Start, step)
00:02:11 verbose #6373 > > | Escaped (n, c), _, ('"' :: tail) =>
00:02:11 verbose #6374 > > loop (acc, $'$"{!current}{!c}\\\""') tail (Escaped (n, c), step)
00:02:11 verbose #6375 > > | Quoted _, Quoted _, (('\\' | '\`') & c :: tail) =>
00:02:11 verbose #6376 > > loop (acc, current) tail (Escaped (0, c), step)
00:02:11 verbose #6377 > > | Quoted _, _, (('\\' | '\`') & c :: tail) =>
00:02:11 verbose #6378 > > loop (acc, current) tail (Escaped (1, c), step)
00:02:11 verbose #6379 > > | Quoted _, Escaped (0, _), ('"' :: tail) =>
00:02:11 verbose #6380 > > loop (acc, $'$"{!current}"') tail (Quoted '"', step)
00:02:11 verbose #6381 > > | Quoted _, _, ('"' :: tail) =>
00:02:11 verbose #6382 > > loop (acc ++ [[ current ]], "") tail (Start, step)
00:02:11 verbose #6383 > > | (Escaped _ | Quoted _), _, (' ' :: tail) =>
00:02:11 verbose #6384 > > loop (acc, $'$"{!current} "') tail (step, step)
00:02:11 verbose #6385 > > | _, _, (('\\' | '\`') & c :: tail) =>
00:02:11 verbose #6386 > > loop (acc, current) tail (Escaped (0, c), step)
00:02:11 verbose #6387 > > | _, _, (' ' :: tail) =>
00:02:11 verbose #6388 > > loop ((if current = "" then acc else acc ++ [[ current ]]), "") tail
00:02:11 verbose #6389 > > (step, step)
00:02:11 verbose #6390 > > | Escaped (1, _), _, (char :: tail) when last <>. step =>
00:02:11 verbose #6391 > > loop (acc, $'$"{!current}\\{!char}"') tail (last, step)
00:02:11 verbose #6392 > > | _, _, (char :: tail) =>
00:02:11 verbose #6393 > > loop (acc, $'$"{!current}{!char}"') tail (step, step)
00:02:11 verbose #6394 > > | _ =>
00:02:11 verbose #6395 > > (if current = "" then acc else acc ++ [[ current ]]), current
00:02:11 verbose #6396 > > loop
00:02:11 verbose #6397 > > ([[]], "")
00:02:11 verbose #6398 > > (
00:02:11 verbose #6399 > > args
00:02:11 verbose #6400 > > |> optionm'.of_obj
00:02:11 verbose #6401 > > |> optionm'.unbox
00:02:11 verbose #6402 > > |> optionm'.default_value ""
00:02:11 verbose #6403 > > |> sm'.to_char_array
00:02:11 verbose #6404 > > |> am'.to_list'
00:02:11 verbose #6405 > > |> listm'.unbox
00:02:11 verbose #6406 > > )
00:02:11 verbose #6407 > > (Start, Start)
00:02:11 verbose #6408 > > |> fst
00:02:11 verbose #6409 > > |> listm'.box
00:02:11 verbose #6410 > > |> listm'.to_array'
00:02:11 verbose #6411 > > |> fun (a x : _ i32 _) => x
00:02:11 verbose #6412 > >
00:02:11 verbose #6413 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:11 verbose #6414 > > //// test
00:02:11 verbose #6415 > >
00:02:11 verbose #6416 > > "a b \"c d\" e"
00:02:11 verbose #6417 > > |> split_args
00:02:11 verbose #6418 > > |> _assert_eq' ;[[ "a"; "b"; "c d"; "e" ]]
00:02:12 verbose #6419 > >
00:02:12 verbose #6420 > > ╭─[ 700.22ms - stdout ]────────────────────────────────────────────────────────╮
00:02:12 verbose #6421 > > │ assert_eq' / actual: [|"a"; "b"; "c d"; "e"|] / expected: [|"a"; "b"; "c d"; │
00:02:12 verbose #6422 > > │ "e"|] │
00:02:12 verbose #6423 > > │ │
00:02:12 verbose #6424 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:12 verbose #6425 > >
00:02:12 verbose #6426 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:12 verbose #6427 > > //// test
00:02:12 verbose #6428 > >
00:02:12 verbose #6429 > > "a b e"
00:02:12 verbose #6430 > > |> split_args
00:02:12 verbose #6431 > > |> _assert_eq' ;[[ "a"; "b"; "e" ]]
00:02:12 verbose #6432 > >
00:02:12 verbose #6433 > > ╭─[ 627.88ms - stdout ]────────────────────────────────────────────────────────╮
00:02:12 verbose #6434 > > │ assert_eq' / actual: [|"a"; "b"; "e"|] / expected: [|"a"; "b"; "e"|] │
00:02:12 verbose #6435 > > │ │
00:02:12 verbose #6436 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:12 verbose #6437 > >
00:02:12 verbose #6438 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:12 verbose #6439 > > //// test
00:02:12 verbose #6440 > >
00:02:12 verbose #6441 > > "\"a b\" \"e\" \"f\""
00:02:12 verbose #6442 > > |> split_args
00:02:12 verbose #6443 > > |> _assert_eq' ;[[ "a b"; "e"; "f" ]]
00:02:13 verbose #6444 > >
00:02:13 verbose #6445 > > ╭─[ 553.74ms - stdout ]────────────────────────────────────────────────────────╮
00:02:13 verbose #6446 > > │ assert_eq' / actual: [|"a b"; "e"; "f"|] / expected: [|"a b"; "e"; "f"|] │
00:02:13 verbose #6447 > > │ │
00:02:13 verbose #6448 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:13 verbose #6449 > >
00:02:13 verbose #6450 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:13 verbose #6451 > > //// test
00:02:13 verbose #6452 > >
00:02:13 verbose #6453 > > "a -b \"c \\\"d\\\"\""
00:02:13 verbose #6454 > > |> split_args
00:02:13 verbose #6455 > > |> _assert_eq' ;[[ "a"; "-b"; "c \\\"d\\\"" ]]
00:02:13 verbose #6456 > >
00:02:13 verbose #6457 > > ╭─[ 505.90ms - stdout ]────────────────────────────────────────────────────────╮
00:02:13 verbose #6458 > > │ assert_eq' / actual: [|"a"; "-b"; "c \"d\""|] / expected: [|"a"; "-b"; "c │
00:02:13 verbose #6459 > > │ \"d\""|] │
00:02:13 verbose #6460 > > │ │
00:02:13 verbose #6461 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:13 verbose #6462 > >
00:02:13 verbose #6463 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:13 verbose #6464 > > //// test
00:02:13 verbose #6465 > >
00:02:13 verbose #6466 > > "a -b \"c \\\"d\\\" e\""
00:02:13 verbose #6467 > > |> split_args
00:02:13 verbose #6468 > > |> _assert_eq' ;[[ "a"; "-b"; "c \\\"d\\\" e" ]]
00:02:14 verbose #6469 > >
00:02:14 verbose #6470 > > ╭─[ 682.54ms - stdout ]────────────────────────────────────────────────────────╮
00:02:14 verbose #6471 > > │ assert_eq' / actual: [|"a"; "-b"; "c \"d\" e"|] / expected: [|"a"; "-b"; "c │
00:02:14 verbose #6472 > > │ \"d\" e"|] │
00:02:14 verbose #6473 > > │ │
00:02:14 verbose #6474 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:14 verbose #6475 > >
00:02:14 verbose #6476 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:14 verbose #6477 > > //// test
00:02:14 verbose #6478 > >
00:02:14 verbose #6479 > > "a -b \"c \`\"d\`\" e\""
00:02:14 verbose #6480 > > |> split_args
00:02:14 verbose #6481 > > |> _assert_eq' ;[[ "a"; "-b"; "c \`\"d\`\" e" ]]
00:02:15 verbose #6482 > >
00:02:15 verbose #6483 > > ╭─[ 528.64ms - stdout ]────────────────────────────────────────────────────────╮
00:02:15 verbose #6484 > > │ assert_eq' / actual: [|"a"; "-b"; "c `"d`" e"|] / expected: [|"a"; "-b"; "c │
00:02:15 verbose #6485 > > │ `"d`" e"|] │
00:02:15 verbose #6486 > > │ │
00:02:15 verbose #6487 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:15 verbose #6488 > >
00:02:15 verbose #6489 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:15 verbose #6490 > > //// test
00:02:15 verbose #6491 > >
00:02:15 verbose #6492 > > $'$"--text \\\\\\"\'\'\' value \'\'\'\\\\\\" "'
00:02:15 verbose #6493 > > |> split_args
00:02:15 verbose #6494 > > |> _assert_eq' ;[[ "--text"; "''' value '''" ]]
00:02:15 verbose #6495 > >
00:02:15 verbose #6496 > > ╭─[ 440.19ms - stdout ]────────────────────────────────────────────────────────╮
00:02:15 verbose #6497 > > │ assert_eq' / actual: [|"--text"; "''' value '''"|] / expected: [|"--text"; │
00:02:15 verbose #6498 > > │ "''' value '''"|] │
00:02:15 verbose #6499 > > │ │
00:02:15 verbose #6500 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:15 verbose #6501 > >
00:02:15 verbose #6502 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:15 verbose #6503 > > //// test
00:02:15 verbose #6504 > >
00:02:15 verbose #6505 > > $'\@$"run ""get c:\\test.txt"""'
00:02:15 verbose #6506 > > |> split_args
00:02:15 verbose #6507 > > |> _assert_eq' ;[[ "run"; "get c:\\test.txt" ]]
00:02:15 verbose #6508 > 00:02:15 debug #261 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2cff6d50e3553f23257584db13aa2488b7059288fb5cd2be3f2b781f469cede6/main.spi
00:02:16 verbose #6509 > >
00:02:16 verbose #6510 > > ╭─[ 853.15ms - stdout ]────────────────────────────────────────────────────────╮
00:02:16 verbose #6511 > > │ assert_eq' / actual: [|"run"; "get c:\test.txt"|] / expected: [|"run"; "get │
00:02:16 verbose #6512 > > │ c:\test.txt"|] │
00:02:16 verbose #6513 > > │ │
00:02:16 verbose #6514 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:16 verbose #6515 > >
00:02:16 verbose #6516 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:16 verbose #6517 > > //// test
00:02:16 verbose #6518 > >
00:02:16 verbose #6519 > > "pwsh -c \"$x -replace '(id=`\"cell-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] +
00:02:16 verbose #6520 > > `$counter++ }\""
00:02:16 verbose #6521 > > |> split_args
00:02:16 verbose #6522 > > |> _assert_eq' ;[[ "pwsh"; "-c"; "$x -replace
00:02:16 verbose #6523 > > '(id=`\"cell-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$counter++ }" ]]
00:02:16 verbose #6524 > 00:02:16 debug #262 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c04de76d0d5bc31707496551e60d6f43c3c84447e8723d2babe2892564ef768b/main.spi
00:02:16 verbose #6525 > >
00:02:16 verbose #6526 > > ╭─[ 481.86ms - stdout ]────────────────────────────────────────────────────────╮
00:02:16 verbose #6527 > > │ assert_eq' / actual: [|"pwsh"; "-c"; │
00:02:16 verbose #6528 > > │ "$x -replace '(id=`"cell-id=)[a-fA-F0-9]{8}', { `$_[1] + `$counter++ }"|] │
00:02:16 verbose #6529 > > │ / expected: [|"pwsh"; "-c"; │
00:02:16 verbose #6530 > > │ "$x -replace '(id=`"cell-id=)[a-fA-F0-9]{8}', { `$_[1] + `$counter++ }"|] │
00:02:16 verbose #6531 > > │ │
00:02:16 verbose #6532 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:16 verbose #6533 > >
00:02:16 verbose #6534 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:16 verbose #6535 > > //// test
00:02:16 verbose #6536 > >
00:02:16 verbose #6537 > > $'$"pwsh -c \\\"$x -replace \'(id=\\\\\\"cell-id=)[[a-fA-F0-9]]{{8}}\', {{
00:02:16 verbose #6538 > > \`$_[[1]] + \`$counter++ }}\\\""'
00:02:16 verbose #6539 > > |> split_args
00:02:16 verbose #6540 > > |> _assert_eq' ;[[ "pwsh"; "-c"; "$x -replace
00:02:16 verbose #6541 > > '(id=\\\"cell-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$counter++ }" ]]
00:02:16 verbose #6542 > 00:02:16 debug #263 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2023306749b289abc64c0441a15a14fd082d3546e3e7affca27659aa407c69db/main.spi
00:02:17 verbose #6543 > >
00:02:17 verbose #6544 > > ╭─[ 504.32ms - stdout ]────────────────────────────────────────────────────────╮
00:02:17 verbose #6545 > > │ assert_eq' / actual: [|"pwsh"; "-c"; │
00:02:17 verbose #6546 > > │ "$x -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { `$_[1] + `$counter++ }"|] │
00:02:17 verbose #6547 > > │ / expected: [|"pwsh"; "-c"; │
00:02:17 verbose #6548 > > │ "$x -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { `$_[1] + `$counter++ }"|] │
00:02:17 verbose #6549 > > │ │
00:02:17 verbose #6550 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:17 verbose #6551 > >
00:02:17 verbose #6552 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:17 verbose #6553 > > //// test
00:02:17 verbose #6554 > >
00:02:17 verbose #6555 > > $'$"a --b --c d --e \\\"c:/f f/test.hangul.md\\\" --output \\\"c:/md.pdf\\\"
00:02:17 verbose #6556 > > --set tex.template.add \\\"\\\\usepackage{{cjkutf8-ko}}\\\"
00:02:17 verbose #6557 > > rendering.highlight.theme \\\"Solarized (dark)\\\""'
00:02:17 verbose #6558 > > |> split_args
00:02:17 verbose #6559 > > |> _assert_eq' ;[[ "a"; "--b"; "--c"; "d"; "--e"; "c:/f f/test.hangul.md";
00:02:17 verbose #6560 > > "--output"; "c:/md.pdf"; "--set"; "tex.template.add";
00:02:17 verbose #6561 > > "\\usepackage{cjkutf8-ko}"; "rendering.highlight.theme"; "Solarized (dark)" ]]
00:02:17 verbose #6562 > 00:02:17 debug #264 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b48c4d80030112e201dc71b70af6dedd5d962cca2a7afc02d8c1a454a1e3663e/main.spi
00:02:17 verbose #6563 > >
00:02:17 verbose #6564 > > ╭─[ 520.43ms - stdout ]────────────────────────────────────────────────────────╮
00:02:17 verbose #6565 > > │ assert_eq' / actual: [|"a"; "--b"; "--c"; "d"; "--e"; "c:/f │
00:02:17 verbose #6566 > > │ f/test.hangul.md"; "--output"; │
00:02:17 verbose #6567 > > │ "c:/md.pdf"; "--set"; "tex.template.add"; "\usepackage{cjkutf8-ko}"; │
00:02:17 verbose #6568 > > │ "rendering.highlight.theme"; "Solarized (dark)"|] / expected: [|"a"; │
00:02:17 verbose #6569 > > │ "--b"; "--c"; "d"; "--e"; "c:/f f/test.hangul.md"; "--output"; │
00:02:17 verbose #6570 > > │ "c:/md.pdf"; "--set"; "tex.template.add"; "\usepackage{cjkutf8-ko}"; │
00:02:17 verbose #6571 > > │ "rendering.highlight.theme"; "Solarized (dark)"|] │
00:02:17 verbose #6572 > > │ │
00:02:17 verbose #6573 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:17 verbose #6574 > >
00:02:17 verbose #6575 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:17 verbose #6576 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:17 verbose #6577 > > │ ## stdin_write_all │
00:02:17 verbose #6578 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:17 verbose #6579 > >
00:02:17 verbose #6580 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:17 verbose #6581 > > inl stdin_write_all (stdin : threading.mutex_guard process_child_stdin) (text :
00:02:17 verbose #6582 > > string) : () =
00:02:17 verbose #6583 > > inl stream = text |> sm'.as_bytes
00:02:17 verbose #6584 > > inl stdin = join stdin
00:02:17 verbose #6585 > > (!\($'"true; let mut !stdin = !stdin"') : bool) |> ignore
00:02:17 verbose #6586 > > (!\\(stdin, $'"true; std::io::Write::write_all(&mut *$0,
00:02:17 verbose #6587 > > !stream).unwrap()"') : bool) |> ignore
00:02:18 verbose #6588 > 00:02:17 debug #265 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bba9d4c0a8a680d7ad9265d63bf5e17fdf116c30a09590c453419539ea8503e0/main.spi
00:02:18 verbose #6589 > >
00:02:18 verbose #6590 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6591 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6592 > > │ ## stdin_flush │
00:02:18 verbose #6593 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6594 > >
00:02:18 verbose #6595 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6596 > > inl stdin_flush (stdin : threading.mutex_guard process_child_stdin) : () =
00:02:18 verbose #6597 > > inl stdin = join stdin
00:02:18 verbose #6598 > > (!\($'"true; let mut !stdin = !stdin"') : bool) |> ignore
00:02:18 verbose #6599 > > (!\\(stdin, $'"true; std::io::Write::flush(&mut *$0).unwrap()"') : bool) |>
00:02:18 verbose #6600 > > ignore
00:02:18 verbose #6601 > 00:02:17 debug #266 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f6b66836b9c9846d91237930fd014ad4057dd1cf4493ebe38ab4670904996ece/main.spi
00:02:18 verbose #6602 > >
00:02:18 verbose #6603 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6604 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6605 > > │ ## new_process_command │
00:02:18 verbose #6606 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6607 > >
00:02:18 verbose #6608 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6609 > > inl new_process_command (file_name : string) : process_command =
00:02:18 verbose #6610 > > !\\(file_name, $'"std::process::Command::new(&*$0)"')
00:02:18 verbose #6611 > 00:02:17 debug #267 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cf508b239cb5d9f55e20254d1d6291adb285906c75a9132a9985d9872626e2b1/main.spi
00:02:18 verbose #6612 > >
00:02:18 verbose #6613 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6614 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6615 > > │ ## process_stdio_piped │
00:02:18 verbose #6616 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6617 > >
00:02:18 verbose #6618 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6619 > > inl process_stdio_piped () : process_stdio =
00:02:18 verbose #6620 > > !\($'"std::process::Stdio::piped()"')
00:02:18 verbose #6621 > 00:02:17 debug #268 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/49f4c9a871d4b62c45fab0f13e546f0c6dd2cf35156f4a2e6c8cb78aa4bfa515/main.spi
00:02:18 verbose #6622 > >
00:02:18 verbose #6623 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6624 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6625 > > │ ## process_command_args │
00:02:18 verbose #6626 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6627 > >
00:02:18 verbose #6628 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6629 > > inl process_command_args (args : am'.vec sm'.std_string) (c : process_command) :
00:02:18 verbose #6630 > > rust.ref' (rust.mut' process_command) =
00:02:18 verbose #6631 > > (!\($'"true; let mut !c = !c"') : bool) |> ignore
00:02:18 verbose #6632 > > !\\((c, args), $'"std::process::Command::args(&mut $0, &*$1)"')
00:02:18 verbose #6633 > 00:02:17 debug #269 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/db0dc6633e8053e16c3f20b1e334ea5fe6e344a5c65dc3f5665f33e23abc73cb/main.spi
00:02:18 verbose #6634 > >
00:02:18 verbose #6635 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6636 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6637 > > │ ## process_command_stdout │
00:02:18 verbose #6638 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6639 > >
00:02:18 verbose #6640 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6641 > > inl process_command_stdout (stdio : process_stdio) (c : rust.ref' (rust.mut'
00:02:18 verbose #6642 > > process_command)) : rust.ref' (rust.mut' process_command) =
00:02:18 verbose #6643 > > !\\(c, $'"std::process::Command::stdout($0, std::process::Stdio::piped())"')
00:02:18 verbose #6644 > 00:02:18 debug #270 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8528a67d7a4281a9662d812baae713a421714dc5661e90429ed88abf28d85567/main.spi
00:02:18 verbose #6645 > >
00:02:18 verbose #6646 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6647 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6648 > > │ ## process_command_stderr │
00:02:18 verbose #6649 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6650 > >
00:02:18 verbose #6651 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6652 > > inl process_command_stderr (stdio : process_stdio) (c : rust.ref' (rust.mut'
00:02:18 verbose #6653 > > process_command)) : rust.ref' (rust.mut' process_command) =
00:02:18 verbose #6654 > > !\\(c, $'"std::process::Command::stderr($0, std::process::Stdio::piped())"')
00:02:18 verbose #6655 > 00:02:18 debug #271 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eb066195f3c22e6d672fb53cfb0b4a29a4e2e085cc68315dac785e374a40e84b/main.spi
00:02:18 verbose #6656 > >
00:02:18 verbose #6657 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6658 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6659 > > │ ## process_command_stdin │
00:02:18 verbose #6660 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6661 > >
00:02:18 verbose #6662 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6663 > > inl process_command_stdin (stdio : process_stdio) (c : rust.ref' (rust.mut'
00:02:18 verbose #6664 > > process_command)) : rust.ref' (rust.mut' process_command) =
00:02:18 verbose #6665 > > !\\(c, $'"std::process::Command::stdin($0, std::process::Stdio::piped())"')
00:02:18 verbose #6666 > 00:02:18 debug #272 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4996ed0880c0e9bc9f61600e29816083845a6eb76adc852dd6488a9775d2dfd4/main.spi
00:02:18 verbose #6667 > >
00:02:18 verbose #6668 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6669 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6670 > > │ ## process_command_current_dir │
00:02:18 verbose #6671 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6672 > >
00:02:18 verbose #6673 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6674 > > inl process_command_current_dir
00:02:18 verbose #6675 > > (dir : string)
00:02:18 verbose #6676 > > (c : rust.ref' (rust.mut' process_command))
00:02:18 verbose #6677 > > : rust.ref' (rust.mut' process_command)
00:02:18 verbose #6678 > > =
00:02:18 verbose #6679 > > !\\(dir, $'"std::process::Command::current_dir(!c, &*$0)"')
00:02:18 verbose #6680 > 00:02:18 debug #273 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/94f80f2080a03e63cb47fca7028eb31dce0f0fdf9a98867bb65f6159ba60e917/main.spi
00:02:18 verbose #6681 > >
00:02:18 verbose #6682 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6683 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6684 > > │ ## process_command_env │
00:02:18 verbose #6685 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6686 > >
00:02:18 verbose #6687 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6688 > > inl process_command_env
00:02:18 verbose #6689 > > (key : string)
00:02:18 verbose #6690 > > (value : string)
00:02:18 verbose #6691 > > (c : rust.ref' (rust.mut' process_command))
00:02:18 verbose #6692 > > : rust.ref' (rust.mut' process_command)
00:02:18 verbose #6693 > > =
00:02:18 verbose #6694 > > !\\((key, value), $'"std::process::Command::env(!c, &*$0, &*$1)"')
00:02:18 verbose #6695 > 00:02:18 debug #274 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/27c3fa4d1ea2868aadd1de8619bd4c41f7ce48b672bc806e31b6e9707ad995ee/main.spi
00:02:18 verbose #6696 > >
00:02:18 verbose #6697 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:18 verbose #6698 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:18 verbose #6699 > > │ ## process_command_spawn │
00:02:18 verbose #6700 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:18 verbose #6701 > >
00:02:18 verbose #6702 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:18 verbose #6703 > > inl process_command_spawn
00:02:18 verbose #6704 > > (c : rust.ref' (rust.mut' process_command))
00:02:18 verbose #6705 > > : resultm.result' process_child stream.io_error
00:02:18 verbose #6706 > > =
00:02:18 verbose #6707 > > !\\(c, $'"std::process::Command::spawn($0)"')
00:02:18 verbose #6708 > 00:02:18 debug #275 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/21e974d5a41491f27145378f71418c025971f7de1ac1ae4e2d51502ffc537793/main.spi
00:02:19 verbose #6709 > >
00:02:19 verbose #6710 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:19 verbose #6711 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:19 verbose #6712 > > │ ## child_wait_with_output │
00:02:19 verbose #6713 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:19 verbose #6714 > >
00:02:19 verbose #6715 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:19 verbose #6716 > > inl child_wait_with_output
00:02:19 verbose #6717 > > (child : process_child)
00:02:19 verbose #6718 > > : resultm.result' process_output stream.io_error
00:02:19 verbose #6719 > > =
00:02:19 verbose #6720 > > !\\(child, $'"$0.wait_with_output()"')
00:02:19 verbose #6721 > 00:02:18 debug #276 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ffdf1e2452f751240ab7d5a8b7ccd1646174e2c0757990d1b2c3e22f19624eed/main.spi
00:02:19 verbose #6722 > >
00:02:19 verbose #6723 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:19 verbose #6724 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:19 verbose #6725 > > │ ## stdio_line │
00:02:19 verbose #6726 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:19 verbose #6727 > >
00:02:19 verbose #6728 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:19 verbose #6729 > > inl stdio_line
00:02:19 verbose #6730 > > (stdio : result () ())
00:02:19 verbose #6731 > > (trace' : bool)
00:02:19 verbose #6732 > > (channel_sender : threading.arc (threading.mutex (threading.channel_sender
00:02:19 verbose #6733 > > sm'.std_string)))
00:02:19 verbose #6734 > > (line : resultm.result' sm'.std_string stream.io_error)
00:02:19 verbose #6735 > > : resultm.result' () sm'.std_string
00:02:19 verbose #6736 > > =
00:02:19 verbose #6737 > > inl highlight text =
00:02:19 verbose #6738 > > $'$"\\u001b[[4;7m{!text}\\u001b[[0m"'
00:02:19 verbose #6739 > > inl line =
00:02:19 verbose #6740 > > match
00:02:19 verbose #6741 > > line
00:02:19 verbose #6742 > > |> resultm.map_error' sm'.format'
00:02:19 verbose #6743 > > |> resultm.unbox'
00:02:19 verbose #6744 > > with
00:02:19 verbose #6745 > > | Ok line =>
00:02:19 verbose #6746 > > inl line =
00:02:19 verbose #6747 > > line
00:02:19 verbose #6748 > > |> sm'.from_std_string
00:02:19 verbose #6749 > > // |> sm'.as_bytes
00:02:19 verbose #6750 > > // |> am'.slice_to_vec
00:02:19 verbose #6751 > > |> sm'.encoding_encode' (sm'.encoding_utf8' ())
00:02:19 verbose #6752 > > |> rust.cow_as_ref
00:02:19 verbose #6753 > > |> sm'.str_from_utf8
00:02:19 verbose #6754 > > // |> sm'.utf8_decode
00:02:19 verbose #6755 > > |> resultm.unwrap'
00:02:19 verbose #6756 > > |> sm'.ref_to_std_string
00:02:19 verbose #6757 > > // String::from_utf8_lossy(line.as_bytes()).into()
00:02:19 verbose #6758 > > inl line_log = line |> sm'.from_std_string
00:02:19 verbose #6759 > > inl text =
00:02:19 verbose #6760 > > match stdio with
00:02:19 verbose #6761 > > | Ok () => $'$"> {!line_log}"'
00:02:19 verbose #6762 > > | Error () => $'$"\! {!line_log}"'
00:02:19 verbose #6763 > > if trace'
00:02:19 verbose #6764 > > then trace Verbose (fun () => text) _locals
00:02:19 verbose #6765 > > else text |> console.write_line
00:02:19 verbose #6766 > > match stdio with
00:02:19 verbose #6767 > > | Ok () => line
00:02:19 verbose #6768 > > | Error () => line |> highlight |> sm'.to_std_string
00:02:19 verbose #6769 > > | Error e =>
00:02:19 verbose #6770 > > trace Critical
00:02:19 verbose #6771 > > fun () => $'$"runtime.stdio_line"'
00:02:19 verbose #6772 > > fun () => $'$"e: {!e} / {!_locals ()}"'
00:02:19 verbose #6773 > > e |> highlight |> sm'.to_std_string
00:02:19 verbose #6774 > > channel_sender
00:02:19 verbose #6775 > > |> threading.arc_mutex_lock
00:02:19 verbose #6776 > > |> resultm.unwrap'
00:02:19 verbose #6777 > > |> threading.mutex_guard_ref
00:02:19 verbose #6778 > > |> threading.channel_send line
00:02:19 verbose #6779 > > |> resultm.map_error' sm'.format'
00:02:19 verbose #6780 > 00:02:18 debug #277 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8c98b79adf52ca6d944b54313d1023d6bcd9d0b263a5ff2db83efe1c9f27f972/main.spi
00:02:19 verbose #6781 > >
00:02:19 verbose #6782 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:19 verbose #6783 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:19 verbose #6784 > > │ ## execute_with_options │
00:02:19 verbose #6785 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:19 verbose #6786 > >
00:02:19 verbose #6787 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:19 verbose #6788 > > let execute_with_options (options : execution_options) : i32 * string =
00:02:19 verbose #6789 > > run_target function
00:02:19 verbose #6790 > > | Fsharp (Native) => fun () =>
00:02:19 verbose #6791 > > options |> execute_with_options_async |> async.run_synchronously
00:02:19 verbose #6792 > > | Rust (Native) => fun () =>
00:02:19 verbose #6793 > > inl command = join options.command
00:02:19 verbose #6794 > > inl file_name, arguments = command |> split_command
00:02:19 verbose #6795 > > inl arguments =
00:02:19 verbose #6796 > > arguments
00:02:19 verbose #6797 > > |> split_args
00:02:19 verbose #6798 > > |> am'.to_vec
00:02:19 verbose #6799 > > |> am'.vec_map sm'.to_std_string
00:02:19 verbose #6800 > >
00:02:19 verbose #6801 > > trace Debug
00:02:19 verbose #6802 > > fun () => $'$"runtime.execute_with_options"'
00:02:19 verbose #6803 > > fun () => $'$"file_name: {!file_name} / arguments:
00:02:19 verbose #6804 > > %A{!arguments} / options: %A{!options} / {!_locals ()}"'
00:02:19 verbose #6805 > >
00:02:19 verbose #6806 > > fun () =>
00:02:19 verbose #6807 > > fun () =>
00:02:19 verbose #6808 > > file_name
00:02:19 verbose #6809 > > |> new_process_command
00:02:19 verbose #6810 > > |> process_command_args arguments
00:02:19 verbose #6811 > > |> process_command_stdout (process_stdio_piped ())
00:02:19 verbose #6812 > > |> process_command_stderr (process_stdio_piped ())
00:02:19 verbose #6813 > > |> process_command_stdin (process_stdio_piped ())
00:02:19 verbose #6814 > > |> fun command =>
00:02:19 verbose #6815 > > match options.working_directory |> optionm'.unbox with
00:02:19 verbose #6816 > > | Some working_directory => command |>
00:02:19 verbose #6817 > > process_command_current_dir working_directory
00:02:19 verbose #6818 > > | None => command
00:02:19 verbose #6819 > > |> fun command =>
00:02:19 verbose #6820 > > match options.environment_variables with
00:02:19 verbose #6821 > > | ;[[]] => command
00:02:19 verbose #6822 > > | vars =>
00:02:19 verbose #6823 > > (command, vars |> am'.to_vec)
00:02:19 verbose #6824 > > ||> am'.vec_fold' fun command (key, value) =>
00:02:19 verbose #6825 > > command |> process_command_env key value
00:02:19 verbose #6826 > > |> process_command_spawn
00:02:19 verbose #6827 > > |> resultm.map_error' sm'.format'
00:02:19 verbose #6828 > > |> resultm.map' (optionm'.some' >> threading.new_arc_mutex)
00:02:19 verbose #6829 > > |> resultm.unbox'
00:02:19 verbose #6830 > > |> function
00:02:19 verbose #6831 > > | Ok child =>
00:02:19 verbose #6832 > > // inl stdout =
00:02:19 verbose #6833 > > // child
00:02:19 verbose #6834 > > // |> threading.arc_mutex_lock
00:02:19 verbose #6835 > > // |> resultm.unwrap'
00:02:19 verbose #6836 > > // |> threading.mutex_guard_ref_mut
00:02:19 verbose #6837 > > // |> optionm'.as_mut
00:02:19 verbose #6838 > > // |> optionm'.unwrap
00:02:19 verbose #6839 > > // |> process_child_stdout
00:02:19 verbose #6840 > > // |> optionm'.ref_take
00:02:19 verbose #6841 > > // |> optionm'.unwrap
00:02:19 verbose #6842 > > // |> optionm'.some'
00:02:19 verbose #6843 > > // |> threading.new_arc_mutex
00:02:19 verbose #6844 > > // inl stderr =
00:02:19 verbose #6845 > > // child
00:02:19 verbose #6846 > > // |> threading.arc_mutex_lock
00:02:19 verbose #6847 > > // |> resultm.unwrap'
00:02:19 verbose #6848 > > // |> threading.mutex_guard_ref_mut
00:02:19 verbose #6849 > > // |> optionm'.as_mut
00:02:19 verbose #6850 > > // |> optionm'.unwrap
00:02:19 verbose #6851 > > // |> process_child_stderr
00:02:19 verbose #6852 > > // |> optionm'.ref_take
00:02:19 verbose #6853 > > // |> optionm'.unwrap
00:02:19 verbose #6854 > > // |> optionm'.some'
00:02:19 verbose #6855 > > // |> threading.new_arc_mutex
00:02:19 verbose #6856 > > // inl stdin =
00:02:19 verbose #6857 > > // child
00:02:19 verbose #6858 > > // |> threading.arc_mutex_lock
00:02:19 verbose #6859 > > // |> resultm.unwrap'
00:02:19 verbose #6860 > > // |> threading.mutex_guard_ref_mut
00:02:19 verbose #6861 > > // |> optionm'.as_mut
00:02:19 verbose #6862 > > // |> optionm'.unwrap
00:02:19 verbose #6863 > > // |> process_child_stdin
00:02:19 verbose #6864 > > // |> optionm'.ref_take
00:02:19 verbose #6865 > > // |> optionm'.unwrap
00:02:19 verbose #6866 > > // |> optionm'.some'
00:02:19 verbose #6867 > > // |> threading.new_arc_mutex
00:02:19 verbose #6868 > >
00:02:19 verbose #6869 > > inl stdout : process_child_stdout =
00:02:19 verbose #6870 > > !\\(child,
00:02:19 verbose #6871 > > $'"$0.lock().unwrap().as_mut().unwrap().stdout.take().unwrap()"')
00:02:19 verbose #6872 > > inl stderr : process_child_stderr =
00:02:19 verbose #6873 > > !\\(child,
00:02:19 verbose #6874 > > $'"$0.lock().unwrap().as_mut().unwrap().stderr.take().unwrap()"')
00:02:19 verbose #6875 > > inl stdin : process_child_stdin =
00:02:19 verbose #6876 > > !\\(child,
00:02:19 verbose #6877 > > $'"$0.lock().unwrap().as_mut().unwrap().stdin.take().unwrap()"')
00:02:19 verbose #6878 > > inl stdout = stdout |> threading.new_arc_mutex
00:02:19 verbose #6879 > > inl stderr = stderr |> threading.new_arc_mutex
00:02:19 verbose #6880 > > inl stdin = stdin |> optionm'.some' |>
00:02:19 verbose #6881 > > threading.new_arc_mutex
00:02:19 verbose #6882 > > inl channel_sender, channel_receiver =
00:02:19 verbose #6883 > > threading.new_channel ()
00:02:19 verbose #6884 > > inl channel_sender'' = channel_sender |>
00:02:19 verbose #6885 > > threading.new_arc_mutex
00:02:19 verbose #6886 > > inl channel_sender' = channel_sender |>
00:02:19 verbose #6887 > > threading.new_arc_mutex
00:02:19 verbose #6888 > > inl channel_receiver' = channel_receiver |>
00:02:19 verbose #6889 > > threading.new_arc_mutex
00:02:19 verbose #6890 > >
00:02:19 verbose #6891 > > inl stdout_handle =
00:02:19 verbose #6892 > > fun () =>
00:02:19 verbose #6893 > > stdout
00:02:19 verbose #6894 > > |> threading.arc_mutex_lock
00:02:19 verbose #6895 > > |> resultm.unwrap'
00:02:19 verbose #6896 > > |> threading.mutex_guard_ref_mut
00:02:19 verbose #6897 > > |> stream.decode_reader_bytes_build
00:02:19 verbose #6898 > > |> stream.new_buf_reader
00:02:19 verbose #6899 > > |> stream.buf_read_lines
00:02:19 verbose #6900 > > |> iter.try_for_each fun lines =>
00:02:19 verbose #6901 > > inl channel_sender'' = channel_sender''
00:02:19 verbose #6902 > > |> rust.clone
00:02:19 verbose #6903 > > lines
00:02:19 verbose #6904 > > |> stdio_line (Ok ()) options.trace
00:02:19 verbose #6905 > > channel_sender''
00:02:19 verbose #6906 > > |> resultm.to_try
00:02:19 verbose #6907 > > |> threading.spawn (1, 0) 1
00:02:19 verbose #6908 > >
00:02:19 verbose #6909 > > inl stderr_handle =
00:02:19 verbose #6910 > > fun () =>
00:02:19 verbose #6911 > > stderr
00:02:19 verbose #6912 > > |> threading.arc_mutex_lock
00:02:19 verbose #6913 > > |> resultm.unwrap'
00:02:19 verbose #6914 > > |> threading.mutex_guard_ref_mut
00:02:19 verbose #6915 > > |> stream.decode_reader_bytes_build
00:02:19 verbose #6916 > > |> stream.new_buf_reader
00:02:19 verbose #6917 > > |> stream.buf_read_lines
00:02:19 verbose #6918 > > |> iter.try_for_each fun lines =>
00:02:19 verbose #6919 > > inl channel_sender' = channel_sender' |>
00:02:19 verbose #6920 > > rust.clone
00:02:19 verbose #6921 > > lines
00:02:19 verbose #6922 > > |> stdio_line (Error ()) options.trace
00:02:19 verbose #6923 > > channel_sender'
00:02:19 verbose #6924 > > |> resultm.to_try
00:02:19 verbose #6925 > > |> threading.spawn (1, 0) 1
00:02:19 verbose #6926 > >
00:02:19 verbose #6927 > > match options.stdin |> optionm'.unbox with
00:02:19 verbose #6928 > > | Some stdin' =>
00:02:19 verbose #6929 > > stdin
00:02:19 verbose #6930 > > |> threading.arc_mutex_lock
00:02:19 verbose #6931 > > |> resultm.unwrap'
00:02:19 verbose #6932 > > |> threading.mutex_guard_ref_mut
00:02:19 verbose #6933 > > |> optionm'.ref_take
00:02:19 verbose #6934 > > |> optionm'.map' threading.new_arc_mutex
00:02:19 verbose #6935 > > |> optionm'.unbox
00:02:19 verbose #6936 > > |> function
00:02:19 verbose #6937 > > | Some stdin =>
00:02:19 verbose #6938 > > stdin |> stdin'
00:02:19 verbose #6939 > > stdin
00:02:19 verbose #6940 > > |> threading.arc_mutex_lock
00:02:19 verbose #6941 > > |> resultm.unwrap'
00:02:19 verbose #6942 > > |> stdin_flush
00:02:19 verbose #6943 > > | None => ()
00:02:19 verbose #6944 > > | None => ()
00:02:19 verbose #6945 > >
00:02:19 verbose #6946 > > inl output =
00:02:19 verbose #6947 > > child
00:02:19 verbose #6948 > > |> threading.arc_mutex_lock
00:02:19 verbose #6949 > > |> resultm.unwrap'
00:02:19 verbose #6950 > > |> threading.mutex_guard_ref_mut
00:02:19 verbose #6951 > > |> optionm'.ref_take
00:02:19 verbose #6952 > > |> optionm'.unwrap
00:02:19 verbose #6953 > > |> child_wait_with_output
00:02:19 verbose #6954 > > |> resultm.map_error' sm'.format'
00:02:19 verbose #6955 > >
00:02:19 verbose #6956 > > [[ stdout_handle; stderr_handle ]]
00:02:19 verbose #6957 > > |> am'.new_vec
00:02:19 verbose #6958 > > |> am'.vec_for_each' (threading.join' >>
00:02:19 verbose #6959 > > resultm.unwrap' >> resultm.unwrap')
00:02:19 verbose #6960 > >
00:02:19 verbose #6961 > > match output |> resultm.unbox with
00:02:19 verbose #6962 > > | Ok output =>
00:02:19 verbose #6963 > > inl exit_code =
00:02:19 verbose #6964 > > output
00:02:19 verbose #6965 > > |> process_output_status
00:02:19 verbose #6966 > > |> process_exit_status_code
00:02:19 verbose #6967 > > |> optionm'.unwrap
00:02:19 verbose #6968 > > exit_code, None, Some channel_receiver'
00:02:19 verbose #6969 > > | Error error =>
00:02:19 verbose #6970 > > trace Critical
00:02:19 verbose #6971 > > fun () => $'$"runtime.execute_with_options
00:02:19 verbose #6972 > > output error"'
00:02:19 verbose #6973 > > fun () => $'$"error: {!error} / {!_locals
00:02:19 verbose #6974 > > ()}"'
00:02:19 verbose #6975 > > -2i32, error |> Some, None
00:02:19 verbose #6976 > > | Error error =>
00:02:19 verbose #6977 > > trace Critical
00:02:19 verbose #6978 > > fun () => $'$"runtime.execute_with_options
00:02:19 verbose #6979 > > child error"'
00:02:19 verbose #6980 > > fun () => $'$"error: {!error} / {!_locals ()}"'
00:02:19 verbose #6981 > > -1i32, error |> Some, None
00:02:19 verbose #6982 > > |> function
00:02:19 verbose #6983 > > | exit_code, std_trace, channel_receiver =>
00:02:19 verbose #6984 > > inl std_trace =
00:02:19 verbose #6985 > > channel_receiver
00:02:19 verbose #6986 > > |> optionm'.box
00:02:19 verbose #6987 > > |> optionm'.map' fun channel_receiver =>
00:02:19 verbose #6988 > > channel_receiver
00:02:19 verbose #6989 > > |> threading.arc_mutex_lock
00:02:19 verbose #6990 > > |> resultm.unwrap'
00:02:19 verbose #6991 > > |> iter.iter
00:02:19 verbose #6992 > > |> iter_prototypes.iter_collect''
00:02:19 verbose #6993 > > |> am'.vec_map sm'.from_std_string
00:02:19 verbose #6994 > > |> am'.from_vec
00:02:19 verbose #6995 > > |> fun x => x : _ i32 _
00:02:19 verbose #6996 > > |> seq.of_array
00:02:19 verbose #6997 > > |> sm'.concat "\n"
00:02:19 verbose #6998 > > |> optionm'.default_value' (
00:02:19 verbose #6999 > > std_trace
00:02:19 verbose #7000 > > |> optionm.map sm'.from_std_string
00:02:19 verbose #7001 > > |> optionm'.default_value ""
00:02:19 verbose #7002 > > )
00:02:19 verbose #7003 > > trace Verbose
00:02:19 verbose #7004 > > fun () => $'$"runtime.execute_with_options
00:02:19 verbose #7005 > > result"'
00:02:19 verbose #7006 > > fun () => $'$"exit_code: {!exit_code}
00:02:19 verbose #7007 > > std_trace.Length: {!std_trace.Length} / {!_locals ()}"'
00:02:19 verbose #7008 > > new_pair exit_code std_trace
00:02:19 verbose #7009 > > |> capture
00:02:19 verbose #7010 > > |> async.future_init (3, 2) 1
00:02:19 verbose #7011 > > |> async.block_on
00:02:19 verbose #7012 > > |> from_pair
00:02:19 verbose #7013 > > | _ => fun () => null ()
00:02:19 verbose #7014 > 00:02:18 debug #278 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/99fc16baf1d67a27217a9f4e68ea0826aa75879d2d25b5fc98861f218ac6adbd/main.spi
00:02:19 verbose #7015 > >
00:02:19 verbose #7016 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:19 verbose #7017 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:19 verbose #7018 > > │ ### execute │
00:02:19 verbose #7019 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:19 verbose #7020 > >
00:02:19 verbose #7021 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:19 verbose #7022 > > inl execute command =
00:02:19 verbose #7023 > > execution_options fun x => { x with
00:02:19 verbose #7024 > > command = command
00:02:19 verbose #7025 > > }
00:02:19 verbose #7026 > > |> execute_with_options
00:02:19 verbose #7027 > 00:02:18 debug #279 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f28dc153024e60b53bf14e4347cc40530255f372ea529d372b16c392c1a6468a/main.spi
00:02:19 verbose #7028 > >
00:02:19 verbose #7029 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:19 verbose #7030 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:19 verbose #7031 > > │ ### test 1 │
00:02:19 verbose #7032 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:19 verbose #7033 > >
00:02:19 verbose #7034 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:19 verbose #7035 > > //// test
00:02:19 verbose #7036 > > ///! rust -d chrono encoding_rs encoding_rs_io futures futures-lite regex
00:02:19 verbose #7037 > >
00:02:19 verbose #7038 > > types ()
00:02:19 verbose #7039 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:02:19 verbose #7040 > > inl content = "╭─[[ 你好,世界!こんにちは世界! ]]─╮"
00:02:19 verbose #7041 > > // inl content = "test"
00:02:19 verbose #7042 > > fun () =>
00:02:19 verbose #7043 > > inl file_name = join "test.txt"
00:02:19 verbose #7044 > > inl path = temp_folder </> file_name |> file_system.normalize_path
00:02:19 verbose #7045 > > inl exit_code, result =
00:02:19 verbose #7046 > > execute $'\@$"pwsh -c ""[[IO.File]]::ReadAllText(\'{!path}\')"""'
00:02:19 verbose #7047 > > exit_code |> _assert_eq 1
00:02:19 verbose #7048 > > result |> _assert_string_contains "not find file"
00:02:19 verbose #7049 > >
00:02:19 verbose #7050 > > content |> file_system.write_all_text path
00:02:19 verbose #7051 > >
00:02:19 verbose #7052 > > execution_options fun x => { x with
00:02:19 verbose #7053 > > command = $'\@$"cat ""{!file_name}"""'
00:02:19 verbose #7054 > > working_directory = Some temp_folder |> optionm'.box
00:02:19 verbose #7055 > > }
00:02:19 verbose #7056 > > |> execute_with_options
00:02:19 verbose #7057 > > |> ignore
00:02:19 verbose #7058 > >
00:02:19 verbose #7059 > > execution_options fun x => { x with
00:02:19 verbose #7060 > > command = $'\@$"pwsh -c ""[[System.Console]]::OutputEncoding =
00:02:19 verbose #7061 > > [[System.Text.Encoding]]::UTF8; [[IO.File]]::ReadAllText(\'{!file_name}\')"""'
00:02:19 verbose #7062 > > working_directory = Some temp_folder |> optionm'.box
00:02:19 verbose #7063 > > }
00:02:19 verbose #7064 > > |> execute_with_options
00:02:19 verbose #7065 > > |> fun fn => fn () |> Some
00:02:19 verbose #7066 > > |> function
00:02:19 verbose #7067 > > | Some (exit_code, output) =>
00:02:19 verbose #7068 > > exit_code |> _assert_eq 0i32
00:02:19 verbose #7069 > > output |> _assert_eq content
00:02:19 verbose #7070 > > true
00:02:19 verbose #7071 > > | _ => false
00:02:19 verbose #7072 > > |> _assert_eq true
00:02:19 verbose #7073 > > disposable |> use |> ignore
00:02:19 verbose #7074 > 00:02:19 debug #280 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0867eac928bf8816e6332feb043dc21d1e1510f4fd6e31179763306718c67325/main.spi
00:02:35 verbose #7075 > >
00:02:35 verbose #7076 > > ╭─[ 16.08s - return value ]────────────────────────────────────────────────────╮
00:02:35 verbose #7077 > > │ 00:00:00 verbose #1 file_system.create_directory / dir: │
00:02:35 verbose #7078 > > │ /tmp/!spiral_builder_d1dcde62ab9238eb4feb7d7163f5f76a3bd0cf7be4b24c45691835e │
00:02:35 verbose #7079 > > │ 49198feb6/20240520-1342-5897-0313-00000006485a │
00:02:35 verbose #7080 > > │ 00:00:00 debug #2 runtime.execute_with_options / file_name: pwsh / │
00:02:35 verbose #7081 > > │ arguments: ["-c", "[ │
00:02:35 verbose #7082 > > │ IO.File]::ReadAllText('/tmp/!spiral_builder_d1dcde62ab9238eb4feb7d7163f5f76a │
00:02:35 verbose #7083 > > │ 3bd0cf7be4b24c45691835e49198feb6/20240520-1342-5897-0313-00000006485a/test.t │
00:02:35 verbose #7084 > > │ xt')"] / options: (None, "pwsh -c "[ │
00:02:35 verbose #7085 > > │ IO.File]::ReadAllText('/tmp/!spiral_builder_d1dcde62ab9238eb4feb7d7163f5f76a │
00:02:35 verbose #7086 > > │ 3bd0cf7be4b24c45691835e49198feb6/20240520-1342-5897-0313-00000006485a/test.t │
00:02:35 verbose #7087 > > │ xt')"", Array(MutCell([])), None, None, true, None) │
00:02:35 verbose #7088 > > │ 00:00:00 verbose #3 ! MethodInvocationException: Exception │
00:02:35 verbose #7089 > > │ calling "ReadAllText" with "1" argument(s): "Could not find file │
00:02:35 verbose #7090 > > │ '/tmp/!spiral_builder_d1dcde62ab9238eb4feb7d7163f5f76a3bd0cf7be4b24c45691835 │
00:02:35 verbose #7091 > > │ e49198feb6/20240520-1342-5897-0313-00000006485a/test.txt'." │
00:02:35 verbose #7092 > > │ 00:00:00 verbose #4 runtime.execute_with_options / result / exit_code: │
00:02:35 verbose #7093 > > │ 1 / std_trace.Length: 265 │
00:02:35 verbose #7094 > > │ assert_eq / actual: 1 / expected: 1 │
00:02:35 verbose #7095 > > │ assert_string_contains / actual: "not find file" / expected: "38;5;2m│
00:02:35 verbose #7096 > > │ 31;1mMethodInvocationException: Exception calling "ReadAllText" with │
00:02:35 verbose #7097 > > │ "1" argument(s): "Could not find file │
00:02:35 verbose #7098 > > │ '/tmp/!spiral_builder_d1dcde62ab9238eb4feb7d7163f5f76a3bd0cf7be4b24c45691835 │
00:02:35 verbose #7099 > > │ e49198feb6/20240520-1342-5897-0313-00000006485a/test.txt'."" │
00:02:35 verbose #7100 > > │ 00:00:00 debug #5 runtime.execute_with_options /... │
00:02:35 verbose #7101 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:35 verbose #7102 > >
00:02:35 verbose #7103 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:35 verbose #7104 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:35 verbose #7105 > > │ ## command │
00:02:35 verbose #7106 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:35 verbose #7107 > >
00:02:35 verbose #7108 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:35 verbose #7109 > > nominal command = $'clap_Command'
00:02:35 verbose #7110 > 00:02:35 debug #281 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4901b4fae046fd8deec6cb907df2522328af2d74e8f775996cf8bf1868da7233/main.spi
00:02:35 verbose #7111 > >
00:02:35 verbose #7112 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:35 verbose #7113 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:35 verbose #7114 > > │ ## new_command │
00:02:35 verbose #7115 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:35 verbose #7116 > >
00:02:35 verbose #7117 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:35 verbose #7118 > > inl new_command (s : rust.static_ref' sm'.str) : command =
00:02:35 verbose #7119 > > !\\(s, $'"clap::Command::new($0)"')
00:02:35 verbose #7120 > 00:02:35 debug #282 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e6a6b3a7c69f08d56a7a58723b0be523878771b1e788434473ce6e5ec551aeb5/main.spi
00:02:35 verbose #7121 > >
00:02:35 verbose #7122 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:35 verbose #7123 > > //// test
00:02:35 verbose #7124 > > ///! rust -d clap
00:02:35 verbose #7125 > >
00:02:35 verbose #7126 > > types ()
00:02:35 verbose #7127 > > ##"command"
00:02:35 verbose #7128 > > |> new_command
00:02:35 verbose #7129 > > |> sm'.format_pretty'
00:02:35 verbose #7130 > > |> sm'.from_std_string
00:02:35 verbose #7131 > > |> _assert_string_contains "command"
00:02:35 verbose #7132 > 00:02:35 debug #283 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/51e62bf086fa8bb29a918f8220a1635d03eb149729166463fd5c415c8a9da6b5/main.spi
00:02:46 verbose #7133 > >
00:02:46 verbose #7134 > > ╭─[ 10.37s - return value ]────────────────────────────────────────────────────╮
00:02:46 verbose #7135 > > │ assert_string_contains / actual: "command" / expected: "Command { │
00:02:46 verbose #7136 > > │ name: "command", │
00:02:46 verbose #7137 > > │ long_flag: None, │
00:02:46 verbose #7138 > > │ short_flag: None, │
00:02:46 verbose #7139 > > │ display_name: None, │
00:02:46 verbose #7140 > > │ bin_name: None, │
00:02:46 verbose #7141 > > │ author: None, │
00:02:46 verbose #7142 > > │ version: None, │
00:02:46 verbose #7143 > > │ long_version: None, │
00:02:46 verbose #7144 > > │ about: None, │
00:02:46 verbose #7145 > > │ long_about: None, │
00:02:46 verbose #7146 > > │ before_help: None, │
00:02:46 verbose #7147 > > │ before_long_help: None, │
00:02:46 verbose #7148 > > │ after_help: None, │
00:02:46 verbose #7149 > > │ after_long_help: None, │
00:02:46 verbose #7150 > > │ aliases: [], │
00:02:46 verbose #7151 > > │ short_flag_aliases: [], │
00:02:46 verbose #7152 > > │ long_flag_aliases: [], │
00:02:46 verbose #7153 > > │ usage_str: None, │
00:02:46 verbose #7154 > > │ usage_name: None, │
00:02:46 verbose #7155 > > │ help_str: None, │
00:02:46 verbose #7156 > > │ disp_ord: None, │
00:02:46 verbose #7157 > > │ template: None, │
00:02:46 verbose #7158 > > │ settings: AppFlags( │
00:02:46 verbose #7159 > > │ 0, │
00:02:46 verbose #7160 > > │ ), │
00:02:46 verbose #7161 > > │ g_settings: AppFlags( │
00:02:46 verbose #7162 > > │ 0, │
00:02:46 verbose #7163 > > │ ), │
00:02:46 verbose #7164 > > │ args: MKeyMap { │
00:02:46 verbose #7165 > > │ args: [], │
00:02:46 verbose #7166 > > │ keys: [], │
00:02:46 verbose #7167 > > │ }, │
00:02:46 verbose #7168 > > │ subcommands: [], │
00:02:46 verbose #7169 > > │ groups: [], │
00:02:46 verbose #7170 > > │ current_help_heading: None, │
00:02:46 verbose #7171 > > │ current_disp_ord: Some( │
00:02:46 verbose #7172 > > │ 0, │
00:02:46 verbose #7173 > > │ ), │
00:02:46 verbose #7174 > > │ subcommand_value_name: None, │
00:02:46 verbose #7175 > > │ subcommand_heading: None, │
00:02:46 verbose #7176 > > │ external_value_parser: None, │
00:02:46 verbose #7177 > > │ long_help_exists: false, │
00:02:46 verbose #7178 > > │ deferred: None, │
00:02:46 verbose #7179 > > │ app_ext: Extensions { │
00:02:46 verbose #7180 > > │ extensions: FlatMap { │
00:02:46 verbose #7181 > > │ keys: [], │
00:02:46 verbose #7182 > > │ values: [], │
00:02:46 verbose #7183 > > │ }, │
00:02:46 verbose #7184 > > │ }, │
00:02:46 verbose #7185 > > │ }" │
00:02:46 verbose #7186 > > │ │
00:02:46 verbose #7187 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:46 verbose #7188 > >
00:02:46 verbose #7189 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:46 verbose #7190 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:46 verbose #7191 > > │ ## arg │
00:02:46 verbose #7192 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:46 verbose #7193 > >
00:02:46 verbose #7194 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:46 verbose #7195 > > nominal arg = $'clap_Arg'
00:02:46 verbose #7196 > 00:02:45 debug #284 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8b7127216a2afd678aa68628235f4c9894fe83f9c8c6d1cae20fb76c11f5a6a8/main.spi
00:02:46 verbose #7197 > >
00:02:46 verbose #7198 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:46 verbose #7199 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:46 verbose #7200 > > │ ## new_arg │
00:02:46 verbose #7201 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:46 verbose #7202 > >
00:02:46 verbose #7203 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:46 verbose #7204 > > inl new_arg (s : rust.static_ref' sm'.str) : arg =
00:02:46 verbose #7205 > > !\\(s, $'"clap::Arg::new($0)"')
00:02:46 verbose #7206 > 00:02:45 debug #285 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4061334d3d67026931a643e924c6419dbb4d3d2f7820f46473fd221b89585d9f/main.spi
00:02:46 verbose #7207 > >
00:02:46 verbose #7208 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:46 verbose #7209 > > //// test
00:02:46 verbose #7210 > > ///! rust -d clap
00:02:46 verbose #7211 > >
00:02:46 verbose #7212 > > types ()
00:02:46 verbose #7213 > > ##"arg"
00:02:46 verbose #7214 > > |> new_arg
00:02:46 verbose #7215 > > |> sm'.format_pretty'
00:02:46 verbose #7216 > > |> sm'.from_std_string
00:02:46 verbose #7217 > > |> _assert_string_contains "arg"
00:02:46 verbose #7218 > 00:02:46 debug #286 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ee67276c4df621f350249cde2bb99644e0b415301593012d9008aad9c3b21b3c/main.spi
00:02:57 verbose #7219 > >
00:02:57 verbose #7220 > > ╭─[ 10.39s - return value ]────────────────────────────────────────────────────╮
00:02:57 verbose #7221 > > │ assert_string_contains / actual: "arg" / expected: "Arg { │
00:02:57 verbose #7222 > > │ id: "arg", │
00:02:57 verbose #7223 > > │ help: None, │
00:02:57 verbose #7224 > > │ long_help: None, │
00:02:57 verbose #7225 > > │ action: None, │
00:02:57 verbose #7226 > > │ value_parser: None, │
00:02:57 verbose #7227 > > │ blacklist: [], │
00:02:57 verbose #7228 > > │ settings: ArgFlags( │
00:02:57 verbose #7229 > > │ 0, │
00:02:57 verbose #7230 > > │ ), │
00:02:57 verbose #7231 > > │ overrides: [], │
00:02:57 verbose #7232 > > │ groups: [], │
00:02:57 verbose #7233 > > │ requires: [], │
00:02:57 verbose #7234 > > │ r_ifs: [], │
00:02:57 verbose #7235 > > │ r_unless: [], │
00:02:57 verbose #7236 > > │ short: None, │
00:02:57 verbose #7237 > > │ long: None, │
00:02:57 verbose #7238 > > │ aliases: [], │
00:02:57 verbose #7239 > > │ short_aliases: [], │
00:02:57 verbose #7240 > > │ disp_ord: None, │
00:02:57 verbose #7241 > > │ val_names: [], │
00:02:57 verbose #7242 > > │ num_vals: None, │
00:02:57 verbose #7243 > > │ val_delim: None, │
00:02:57 verbose #7244 > > │ default_vals: [], │
00:02:57 verbose #7245 > > │ default_vals_ifs: [], │
00:02:57 verbose #7246 > > │ terminator: None, │
00:02:57 verbose #7247 > > │ index: None, │
00:02:57 verbose #7248 > > │ help_heading: None, │
00:02:57 verbose #7249 > > │ value_hint: None, │
00:02:57 verbose #7250 > > │ default_missing_vals: [], │
00:02:57 verbose #7251 > > │ }" │
00:02:57 verbose #7252 > > │ │
00:02:57 verbose #7253 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7254 > >
00:02:57 verbose #7255 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7256 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7257 > > │ ## command_arg │
00:02:57 verbose #7258 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7259 > >
00:02:57 verbose #7260 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7261 > > inl command_arg (arg : arg) (command : command) : command =
00:02:57 verbose #7262 > > !\\((command, arg), $'"clap::Command::arg($0, $1)"')
00:02:57 verbose #7263 > 00:02:56 debug #287 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3214cfde1cd13d46b28c17e7286e8c6ca46c961d9c0b2e4de306585079628728/main.spi
00:02:57 verbose #7264 > >
00:02:57 verbose #7265 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7266 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7267 > > │ ## arg_required │
00:02:57 verbose #7268 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7269 > >
00:02:57 verbose #7270 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7271 > > inl arg_required (value : bool) (arg : arg) : arg =
00:02:57 verbose #7272 > > !\\((arg, value), $'"$0.required($1)"')
00:02:57 verbose #7273 > 00:02:56 debug #288 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9c0fae6549e598c88f66c6c1a0da325639d9824e61e036386adccb2667b77da5/main.spi
00:02:57 verbose #7274 > >
00:02:57 verbose #7275 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7276 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7277 > > │ ## arg_short │
00:02:57 verbose #7278 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7279 > >
00:02:57 verbose #7280 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7281 > > inl arg_short (value : char) (arg : arg) : arg =
00:02:57 verbose #7282 > > !\\((arg, value), $'"$0.short($1)"')
00:02:57 verbose #7283 > 00:02:56 debug #289 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/353d152da6478717bd6d4c9206f277447f816ebf6711979d5b65376127152f52/main.spi
00:02:57 verbose #7284 > >
00:02:57 verbose #7285 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7286 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7287 > > │ ## arg_long │
00:02:57 verbose #7288 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7289 > >
00:02:57 verbose #7290 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7291 > > inl arg_long (value : rust.static_ref' sm'.str) (arg : arg) : arg =
00:02:57 verbose #7292 > > !\\((arg, value), $'"$0.long($1)"')
00:02:57 verbose #7293 > 00:02:57 debug #290 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a3b9a5c91fcf5f58ac4d48e6c765fa7079612a12db264a5e8b0ffdc16b8920bd/main.spi
00:02:57 verbose #7294 > >
00:02:57 verbose #7295 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7296 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7297 > > │ ## arg_value_names │
00:02:57 verbose #7298 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7299 > >
00:02:57 verbose #7300 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7301 > > inl arg_value_names (values : array_base (rust.static_ref' sm'.str)) (arg : arg)
00:02:57 verbose #7302 > > : arg =
00:02:57 verbose #7303 > > inl values = values |> am'.to_vec
00:02:57 verbose #7304 > > !\\((arg, values), $'"$0.value_names($1)"')
00:02:57 verbose #7305 > 00:02:57 debug #291 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/40f577552f235f22dec44d82609f5fa9d8b26895abe685edf056a01b57ec2884/main.spi
00:02:57 verbose #7306 > >
00:02:57 verbose #7307 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7308 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7309 > > │ ## arg_num_args │
00:02:57 verbose #7310 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7311 > >
00:02:57 verbose #7312 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7313 > > inl arg_num_args (value : i32) (arg : arg) : arg =
00:02:57 verbose #7314 > > !\\((arg, value), $'"$0.num_args($1)"')
00:02:57 verbose #7315 > 00:02:57 debug #292 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ef9860c6478007414aa9191b11e764ada1a1f8aa8e8c27bb271d692b4d03485e/main.spi
00:02:57 verbose #7316 > >
00:02:57 verbose #7317 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7318 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7319 > > │ ## value_range │
00:02:57 verbose #7320 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7321 > >
00:02:57 verbose #7322 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7323 > > nominal value_range = $'clap_builder_ValueRange'
00:02:57 verbose #7324 > 00:02:57 debug #293 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/44a90ae553e1cd8f75b9683d2d1b4d942e21d42b9a18c736419eefde3ec413c5/main.spi
00:02:57 verbose #7325 > >
00:02:57 verbose #7326 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:57 verbose #7327 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:57 verbose #7328 > > │ ## new_value_range │
00:02:57 verbose #7329 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:57 verbose #7330 > >
00:02:57 verbose #7331 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:57 verbose #7332 > > inl new_value_range start end : value_range =
00:02:57 verbose #7333 > > inl len = 0i32 |> unativeint
00:02:57 verbose #7334 > > inl start, end =
00:02:57 verbose #7335 > > open am'
00:02:57 verbose #7336 > > match start, end with
00:02:57 verbose #7337 > > | Start start, End fn =>
00:02:57 verbose #7338 > > start, len |> fn
00:02:57 verbose #7339 > > | End start_fn, End end_fn =>
00:02:57 verbose #7340 > > start_fn len, end_fn len
00:02:57 verbose #7341 > > match start, end with
00:02:57 verbose #7342 > > | start, end when end =. len =>
00:02:57 verbose #7343 > > !\($'"clap::builder::ValueRange::new(!start..)"')
00:02:57 verbose #7344 > > | start, end => !\($'"clap::builder::ValueRange::new(!start..!end)"')
00:02:57 verbose #7345 > 00:02:57 debug #294 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/65b2847b755195c300f25116e7ec2e2d529955fdb282fd9866bc29744cecddcd/main.spi
00:02:58 verbose #7346 > >
00:02:58 verbose #7347 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7348 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7349 > > │ ## arg_num_args_range │
00:02:58 verbose #7350 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7351 > >
00:02:58 verbose #7352 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7353 > > inl arg_num_args_range (value : value_range) (arg : arg) : arg =
00:02:58 verbose #7354 > > !\\((arg, value), $'"$0.num_args($1)"')
00:02:58 verbose #7355 > 00:02:57 debug #295 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4461cb2d06374f8d6946a71d30c584f9b5257ca9ff2f42d122a76fdaeea4a5bc/main.spi
00:02:58 verbose #7356 > >
00:02:58 verbose #7357 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7358 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7359 > > │ ## arg_value_name │
00:02:58 verbose #7360 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7361 > >
00:02:58 verbose #7362 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7363 > > inl arg_value_name (value : string) (arg : arg) : arg =
00:02:58 verbose #7364 > > inl value = value |> sm'.as_str
00:02:58 verbose #7365 > > !\\((arg, value), $'"$0.value_name($1)"')
00:02:58 verbose #7366 > 00:02:57 debug #296 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e80c8a64df5f824b54de712b21b7d37f00c8a4979cd2884173190e8b0ff4d71e/main.spi
00:02:58 verbose #7367 > >
00:02:58 verbose #7368 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7369 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7370 > > │ ## value_parser │
00:02:58 verbose #7371 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7372 > >
00:02:58 verbose #7373 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7374 > > nominal value_parser = $'clap_builder_ValueParser'
00:02:58 verbose #7375 > 00:02:57 debug #297 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/04476d41aabe1d55d67e494730ca3218c3258f89d50768aeb51b058f0ccd69fa/main.spi
00:02:58 verbose #7376 > >
00:02:58 verbose #7377 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7378 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7379 > > │ ## possible_value │
00:02:58 verbose #7380 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7381 > >
00:02:58 verbose #7382 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7383 > > nominal possible_value = $'clap_builder_PossibleValue'
00:02:58 verbose #7384 > 00:02:57 debug #298 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2f973a46d5eb554b74934cce07a11bf758cbedd310e9425f444d64bf820aefbb/main.spi
00:02:58 verbose #7385 > >
00:02:58 verbose #7386 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7387 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7388 > > │ ## new_possible_value │
00:02:58 verbose #7389 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7390 > >
00:02:58 verbose #7391 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7392 > > inl new_possible_value forall t. (x : t) : possible_value =
00:02:58 verbose #7393 > > !\\(x, $'"clap::builder::PossibleValue::new(&**$0)"')
00:02:58 verbose #7394 > 00:02:58 debug #299 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c5c2ea194e4ca00b9bfe4688667f91c8914b203a03e029000fb302e7979b4eb8/main.spi
00:02:58 verbose #7395 > >
00:02:58 verbose #7396 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7397 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7398 > > │ ## value_parser_possible_values │
00:02:58 verbose #7399 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7400 > >
00:02:58 verbose #7401 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7402 > > inl value_parser_possible_values (values : array_base string) : value_parser =
00:02:58 verbose #7403 > > inl values =
00:02:58 verbose #7404 > > values
00:02:58 verbose #7405 > > |> am'.to_vec
00:02:58 verbose #7406 > > |> am'.vec_map (sm'.to_std_string >> rust.new_box >> rust.box_leak >>
00:02:58 verbose #7407 > > new_possible_value)
00:02:58 verbose #7408 > > !\\(values, $'"clap::builder::PossibleValuesParser::new($0).into()"')
00:02:58 verbose #7409 > 00:02:58 debug #300 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b1816f4db8a36c876897235a8aa9287a44ab5268d035c39a592f08164eb86546/main.spi
00:02:58 verbose #7410 > >
00:02:58 verbose #7411 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7412 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7413 > > │ ## value_parser_path_buf │
00:02:58 verbose #7414 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7415 > >
00:02:58 verbose #7416 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7417 > > inl value_parser_path_buf () : value_parser =
00:02:58 verbose #7418 > > !\($'"clap::value_parser\!(std::path::PathBuf)"')
00:02:58 verbose #7419 > 00:02:58 debug #301 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e7145e4096d34728c581ac2f187f3c97f150843314bef7df29478d93e2f0504a/main.spi
00:02:58 verbose #7420 > >
00:02:58 verbose #7421 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7422 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7423 > > │ ## value_parser_expr │
00:02:58 verbose #7424 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7425 > >
00:02:58 verbose #7426 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7427 > > inl value_parser_expr (expr : string) : value_parser =
00:02:58 verbose #7428 > > !\($'"clap::value_parser\!(" + !expr + ").into()"')
00:02:58 verbose #7429 > 00:02:58 debug #302 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/983b99a5e43bc300a0763733b72aa0d0720ebe166ec80e6df1b0ede75c00ff82/main.spi
00:02:58 verbose #7430 > >
00:02:58 verbose #7431 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:58 verbose #7432 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:58 verbose #7433 > > │ ## arg_value_parser │
00:02:58 verbose #7434 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:58 verbose #7435 > >
00:02:58 verbose #7436 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:58 verbose #7437 > > inl arg_value_parser (values : value_parser) (arg : arg) : arg =
00:02:58 verbose #7438 > > !\\((arg, values), $'"$0.value_parser($1)"')
00:02:58 verbose #7439 > 00:02:58 debug #303 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a4927912f30b77dce86dd4b7ad71c0ec69721fc9e6b290b8d62440d764225e62/main.spi
00:02:59 verbose #7440 > >
00:02:59 verbose #7441 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7442 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7443 > > │ ## arg_union │
00:02:59 verbose #7444 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7445 > >
00:02:59 verbose #7446 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7447 > > inl arg_union forall union_type {to_string}. (fn : union_type -> ()) (arg : arg)
00:02:59 verbose #7448 > > : arg =
00:02:59 verbose #7449 > > arg
00:02:59 verbose #7450 > > |> arg_value_parser (
00:02:59 verbose #7451 > > real get_union_fields_untag `union_type ()
00:02:59 verbose #7452 > > |> fun x => x : list union_type
00:02:59 verbose #7453 > > |> listm.map to_string
00:02:59 verbose #7454 > > |> listm'.box
00:02:59 verbose #7455 > > |> listm'.to_array'
00:02:59 verbose #7456 > > |> fun (a x : _ i32 _) => x
00:02:59 verbose #7457 > > |> value_parser_possible_values
00:02:59 verbose #7458 > > )
00:02:59 verbose #7459 > 00:02:58 debug #304 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bda9c09638adcea8180b3f58abb169a022cd8f17e00720443cd8d7ff4674db04/main.spi
00:02:59 verbose #7460 > >
00:02:59 verbose #7461 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7462 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7463 > > │ ## arg_action │
00:02:59 verbose #7464 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7465 > >
00:02:59 verbose #7466 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7467 > > nominal arg_action' = $'clap_ArgAction'
00:02:59 verbose #7468 > >
00:02:59 verbose #7469 > > union arg_action =
00:02:59 verbose #7470 > > | Set
00:02:59 verbose #7471 > > | Append
00:02:59 verbose #7472 > > | SetTrue
00:02:59 verbose #7473 > > | SetFalse
00:02:59 verbose #7474 > > | Count
00:02:59 verbose #7475 > > | Help
00:02:59 verbose #7476 > > | HelpShort
00:02:59 verbose #7477 > > | HelpLong
00:02:59 verbose #7478 > > | Version
00:02:59 verbose #7479 > >
00:02:59 verbose #7480 > > inl arg_action = function
00:02:59 verbose #7481 > > | Set => !\($'"clap::ArgAction::Set"') : arg_action'
00:02:59 verbose #7482 > > | Append => !\($'"clap::ArgAction::Append"') : arg_action'
00:02:59 verbose #7483 > > | SetTrue => !\($'"clap::ArgAction::SetTrue"') : arg_action'
00:02:59 verbose #7484 > > | SetFalse => !\($'"clap::ArgAction::SetFalse"') : arg_action'
00:02:59 verbose #7485 > > | Count => !\($'"clap::ArgAction::Count"') : arg_action'
00:02:59 verbose #7486 > > | Help => !\($'"clap::ArgAction::Help"') : arg_action'
00:02:59 verbose #7487 > > | HelpShort => !\($'"clap::ArgAction::HelpShort"') : arg_action'
00:02:59 verbose #7488 > > | HelpLong => !\($'"clap::ArgAction::HelpLong"') : arg_action'
00:02:59 verbose #7489 > > | Version => !\($'"clap::ArgAction::Version"') : arg_action'
00:02:59 verbose #7490 > >
00:02:59 verbose #7491 > > inl arg_action (value : arg_action) (arg : arg) : arg =
00:02:59 verbose #7492 > > inl value = value |> arg_action
00:02:59 verbose #7493 > > !\\((arg, value), $'"$0.action($1)"')
00:02:59 verbose #7494 > 00:02:58 debug #305 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9a6591a31fbdf7764b8a5faf521187c4e697cc22ad21b6cc5293d1d4e881292e/main.spi
00:02:59 verbose #7495 > >
00:02:59 verbose #7496 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7497 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7498 > > │ ## arg_index │
00:02:59 verbose #7499 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7500 > >
00:02:59 verbose #7501 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7502 > > inl arg_index (value : i32) (arg : arg) : arg =
00:02:59 verbose #7503 > > !\\((arg, value), $'"$0.index($1)"')
00:02:59 verbose #7504 > 00:02:58 debug #306 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bbcb28a11c9292885a1f9c4d8775b745a2bd66bac081fb8a05ebfd47aa4011fb/main.spi
00:02:59 verbose #7505 > >
00:02:59 verbose #7506 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7507 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7508 > > │ ## arg_matches │
00:02:59 verbose #7509 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7510 > >
00:02:59 verbose #7511 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7512 > > nominal arg_matches = $'clap_ArgMatches'
00:02:59 verbose #7513 > 00:02:59 debug #307 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5e391be2647bcc2bc94c9e3162f0c376c1ad751921f4211c2ac36b83f448a9ad/main.spi
00:02:59 verbose #7514 > >
00:02:59 verbose #7515 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7516 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7517 > > │ ## command_get_matches │
00:02:59 verbose #7518 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7519 > >
00:02:59 verbose #7520 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7521 > > inl command_get_matches (command : command) : arg_matches =
00:02:59 verbose #7522 > > !\\(command, $'"clap::Command::get_matches($0)"')
00:02:59 verbose #7523 > 00:02:59 debug #308 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/75c4e454622cb561e3da17492a0a1e45f697ea215c4f40fcd6960c7ccfca4c36/main.spi
00:02:59 verbose #7524 > >
00:02:59 verbose #7525 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7526 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7527 > > │ ## command_get_matches_from │
00:02:59 verbose #7528 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7529 > >
00:02:59 verbose #7530 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7531 > > inl command_get_matches_from (args : array_base string) (command : command) :
00:02:59 verbose #7532 > > arg_matches =
00:02:59 verbose #7533 > > inl args = args |> am'.to_vec |> am'.vec_map sm'.to_std_string
00:02:59 verbose #7534 > > !\\(command, $'"clap::Command::get_matches_from($0, !args)"')
00:02:59 verbose #7535 > 00:02:59 debug #309 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/289073be215a25e311f0a788be783e5e0ec14a6b552a850c9d51cf3995462b01/main.spi
00:02:59 verbose #7536 > >
00:02:59 verbose #7537 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7538 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7539 > > │ ## command_init_arg │
00:02:59 verbose #7540 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7541 > >
00:02:59 verbose #7542 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7543 > > inl command_init_arg (long, short) fn command =
00:02:59 verbose #7544 > > command
00:02:59 verbose #7545 > > |> command_arg (
00:02:59 verbose #7546 > > new_arg ##long
00:02:59 verbose #7547 > > |> arg_short short
00:02:59 verbose #7548 > > |> arg_long ##long
00:02:59 verbose #7549 > > |> fn
00:02:59 verbose #7550 > > )
00:02:59 verbose #7551 > 00:02:59 debug #310 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/634031657f7bfdadd997393142bcc15613e69e33112dd583ef2c003eab93bc9e/main.spi
00:02:59 verbose #7552 > >
00:02:59 verbose #7553 > > ── markdown ────────────────────────────────────────────────────────────────────
00:02:59 verbose #7554 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:02:59 verbose #7555 > > │ ## matches_get_one │
00:02:59 verbose #7556 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:02:59 verbose #7557 > >
00:02:59 verbose #7558 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:02:59 verbose #7559 > > inl matches_get_one forall t. (x : string) (matches : arg_matches) :
00:02:59 verbose #7560 > > optionm'.option' t =
00:02:59 verbose #7561 > > inl x = join x
00:02:59 verbose #7562 > > inl x = x |> sm'.as_str
00:02:59 verbose #7563 > > !\\(matches, $'"clap::ArgMatches::get_one(&$0, !x).cloned()"')
00:02:59 verbose #7564 > 00:02:59 debug #311 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b3b284897e585ba5fe4531c4cb58649616b86b13660d2ec241d608d653beba88/main.spi
00:03:00 verbose #7565 > >
00:03:00 verbose #7566 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #7567 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #7568 > > │ ## matches_get_flag │
00:03:00 verbose #7569 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #7570 > >
00:03:00 verbose #7571 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #7572 > > inl matches_get_flag (x : string) (matches : arg_matches) : bool =
00:03:00 verbose #7573 > > inl x = join x
00:03:00 verbose #7574 > > inl x = x |> sm'.as_str
00:03:00 verbose #7575 > > !\($'"clap::ArgMatches::get_flag(&!matches, !x)"')
00:03:00 verbose #7576 > 00:02:59 debug #312 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ffc657d3d95b9dc64ca50c1dc3d55fd8b028e11592e66ca0932fe40ded196da1/main.spi
00:03:00 verbose #7577 > >
00:03:00 verbose #7578 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #7579 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #7580 > > │ ## matches_get_many │
00:03:00 verbose #7581 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #7582 > >
00:03:00 verbose #7583 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #7584 > > inl matches_get_many forall t. (x : string) (matches : arg_matches) :
00:03:00 verbose #7585 > > optionm'.option' (am'.vec t) =
00:03:00 verbose #7586 > > inl x = join x
00:03:00 verbose #7587 > > inl x = x |> sm'.as_str
00:03:00 verbose #7588 > > !\\(matches, $'"clap::ArgMatches::get_many(&$0, !x).map(|x|
00:03:00 verbose #7589 > > x.cloned().into_iter().collect())"')
00:03:00 verbose #7590 > 00:02:59 debug #313 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/39f92bfd4eb1ba8c06bc9fafc268384fe527602cecc8804f488ba3cf16a494ac/main.spi
00:03:00 verbose #7591 > >
00:03:00 verbose #7592 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #7593 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #7594 > > │ ## matches_get_occurrences │
00:03:00 verbose #7595 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #7596 > >
00:03:00 verbose #7597 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #7598 > > inl matches_get_occurrences (x : string) (matches : arg_matches) :
00:03:00 verbose #7599 > > optionm'.option' (array_base sm'.std_string) =
00:03:00 verbose #7600 > > inl x = join x
00:03:00 verbose #7601 > > inl x = x |> sm'.as_str
00:03:00 verbose #7602 > > !\($'"clap::ArgMatches::get_occurrences(&!matches, !x).cloned()"')
00:03:00 verbose #7603 > 00:02:59 debug #314 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7dfa5253fef3265ffcbabeeff7d696bd046b9dc1c96cf11c2606f03fa3c70bc5/main.spi
00:03:00 verbose #7604 > >
00:03:00 verbose #7605 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #7606 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #7607 > > │ ## matches_subcommand │
00:03:00 verbose #7608 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #7609 > >
00:03:00 verbose #7610 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #7611 > > inl matches_subcommand (matches : arg_matches) : optionm'.option'
00:03:00 verbose #7612 > > (sm'.std_string * arg_matches) =
00:03:00 verbose #7613 > > !\\((matches, sm'.ref_to_std_string),
00:03:00 verbose #7614 > > $'"clap::ArgMatches::subcommand(Box::leak(Box::new($0))).map(|(a, b)| ($1(a),
00:03:00 verbose #7615 > > b.clone()))"')
00:03:00 verbose #7616 > 00:03:00 debug #315 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8649871b882bf3fc80cfacac0a6dd9ee0a4a53ecfab784977c89ed5114453897/main.spi
00:03:00 verbose #7617 > >
00:03:00 verbose #7618 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #7619 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #7620 > > │ ## matches_values_of │
00:03:00 verbose #7621 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #7622 > >
00:03:00 verbose #7623 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #7624 > > inl matches_values_of (x : string) (matches : arg_matches) : array_base
00:03:00 verbose #7625 > > sm'.std_string =
00:03:00 verbose #7626 > > !\\((matches, x), $'"clap::ArgMatches::values_of($0, &*$1)"')
00:03:00 verbose #7627 > 00:03:00 debug #316 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/729f4b76e992bd5febd93b2558d5a025805c03cec41ffa0edb980a5336647d16/main.spi
00:03:00 verbose #7628 > >
00:03:00 verbose #7629 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #7630 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #7631 > > │ ## command_debug_assert │
00:03:00 verbose #7632 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #7633 > >
00:03:00 verbose #7634 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #7635 > > inl command_debug_assert (command : command) : () =
00:03:00 verbose #7636 > > !\\(command, $'"clap::Command::debug_assert($0)"')
00:03:00 verbose #7637 > 00:03:00 debug #317 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/492db4eeb434fb0347813b406081d2a1c6605446f83ad389b5e5de9a884b8493/main.spi
00:03:00 verbose #7638 > >
00:03:00 verbose #7639 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:00 verbose #7640 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:00 verbose #7641 > > │ ## command_subcommand_required │
00:03:00 verbose #7642 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:00 verbose #7643 > >
00:03:00 verbose #7644 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:00 verbose #7645 > > inl command_subcommand_required (value : bool) (command : command) : command =
00:03:00 verbose #7646 > > !\\(command, $'"clap::Command::subcommand_required($0, !value)"')
00:03:00 verbose #7647 > 00:03:00 debug #318 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/23780084b4191b0ad3f8928ea0f9fdf52cd5fd8daf628646c44ec7ba273357e0/main.spi
00:03:01 verbose #7648 > >
00:03:01 verbose #7649 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:01 verbose #7650 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:01 verbose #7651 > > │ ## command_subcommand │
00:03:01 verbose #7652 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:01 verbose #7653 > >
00:03:01 verbose #7654 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:01 verbose #7655 > > inl command_subcommand (subcommand : command) (command : command) : command =
00:03:01 verbose #7656 > > !\\(command, $'"clap::Command::subcommand($0, !subcommand)"')
00:03:01 verbose #7657 > 00:03:00 debug #319 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/574cefe4c36735bf1e07be5aea26671daa5c1b196aed10db96f4d6040958fc98/main.spi
00:03:01 verbose #7658 > >
00:03:01 verbose #7659 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:01 verbose #7660 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:01 verbose #7661 > > │ ## main │
00:03:01 verbose #7662 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:01 verbose #7663 > >
00:03:01 verbose #7664 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:01 verbose #7665 > > inl main () =
00:03:01 verbose #7666 > > types ()
00:03:01 verbose #7667 > > init_trace_state None
00:03:01 verbose #7668 > > $"let is_windows () = !is_windows ()" : ()
00:03:01 verbose #7669 > > $"let get_executable_suffix () = !get_executable_suffix ()" : ()
00:03:01 verbose #7670 > > $"let execute_async x = !execute_async x" : ()
00:03:01 verbose #7671 > > $"let execute_with_options_async x = !execute_with_options_async x" : ()
00:03:01 verbose #7672 > > inl execution_options fn =
00:03:01 verbose #7673 > > execution_options fun x =>
00:03:01 verbose #7674 > > x
00:03:01 verbose #7675 > > |> heap
00:03:01 verbose #7676 > > |> fn
00:03:01 verbose #7677 > > |> fun x => !x
00:03:01 verbose #7678 > > $"let execution_options x = !execution_options x" : ()
00:03:01 verbose #7679 > > $"let split_args x = !split_args x" : ()
00:03:01 verbose #7680 > 00:03:01 debug #320 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c3a0ffab4a4c43d6d49ccd0a96e3f397d6496c465412f72722694b98b1a56c63/main.spi
00:03:02 verbose #7681 > 00:01:19 verbose #6 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 112608
00:03:02 verbose #7682 > 00:01:19 debug #7 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:03:02 verbose #7683 > 00:01:19 verbose #8 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb to html
00:03:03 verbose #7684 > 00:01:19 verbose #9 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:03:03 verbose #7685 > 00:01:19 verbose #10 ! validate(nb)
00:03:03 verbose #7686 > 00:01:20 verbose #11 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:03:03 verbose #7687 > 00:01:20 verbose #12 ! return _pygments_highlight(
00:03:04 verbose #7688 > 00:01:21 verbose #13 ! [NbConvertApp] Writing 562312 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.html
00:03:04 verbose #7689 > 00:01:21 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 898
00:03:04 verbose #7690 > 00:01:21 debug #15 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 898
00:03:04 verbose #7691 > 00:01:21 debug #16 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:03:04 verbose #7692 > 00:01:21 verbose #17 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:03:04 verbose #7693 > 00:01:21 debug #18 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:03:04 verbose #7694 > 00:01:21 debug #19 spiral_builder.run / dib / exit_code: 0 / result.Length: 113565
00:03:04 debug #7695 execute_with_options_async / exit_code: 0 / output.Length: 292482
00:03:04 debug #8 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path runtime.dib --retries 3
00:03:04 debug #7696 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path trace.dib --retries 3",
[||], None, None, true, None)
00:03:04 verbose #7697 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "trace.dib", "--retries", "3"])
00:03:04 verbose #7698 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:03:06 verbose #7699 > >
00:03:06 verbose #7700 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:06 verbose #7701 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:06 verbose #7702 > > │ # trace │
00:03:06 verbose #7703 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:06 verbose #7704 > >
00:03:06 verbose #7705 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:06 verbose #7706 > > //// test
00:03:06 verbose #7707 > >
00:03:06 verbose #7708 > > open testing
00:03:06 verbose #7709 > >
00:03:06 verbose #7710 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:03:06 verbose #7711 > > #r
00:03:06 verbose #7712 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:03:06 verbose #7713 > > Net.Interactive.Spiral.dll"
00:03:06 verbose #7714 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:03:06 verbose #7715 > > #r
00:03:06 verbose #7716 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:03:06 verbose #7717 > > Net.Interactive.dll"
00:03:06 verbose #7718 > > open type Microsoft.DotNet.Interactive.Kernel
00:03:08 verbose #7719 > >
00:03:08 verbose #7720 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:08 verbose #7721 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:08 verbose #7722 > > │ ## types │
00:03:08 verbose #7723 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:08 verbose #7724 > >
00:03:08 verbose #7725 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:08 verbose #7726 > > inl types () =
00:03:08 verbose #7727 > > rust.types ()
00:03:08 verbose #7728 > > sm'.types ()
00:03:08 verbose #7729 > > env.types ()
00:03:09 verbose #7730 > 00:03:08 debug #321 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5cc9129165ee28d440d9cbb4c69dddfeac38aa775b722354cecbaf41a03e96e0/main.spi
00:03:09 verbose #7731 > >
00:03:09 verbose #7732 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:09 verbose #7733 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:09 verbose #7734 > > │ ## trace_level │
00:03:09 verbose #7735 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:09 verbose #7736 > >
00:03:09 verbose #7737 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7738 > > union trace_level =
00:03:09 verbose #7739 > > | Verbose
00:03:09 verbose #7740 > > | Debug
00:03:09 verbose #7741 > > | Info
00:03:09 verbose #7742 > > | Warning
00:03:09 verbose #7743 > > | Critical
00:03:09 verbose #7744 > >
00:03:09 verbose #7745 > > instance to_string trace_level = function
00:03:09 verbose #7746 > > | Verbose => "Verbose"
00:03:09 verbose #7747 > > | Debug => "Debug"
00:03:09 verbose #7748 > > | Info => "Info"
00:03:09 verbose #7749 > > | Warning => "Warning"
00:03:09 verbose #7750 > > | Critical => "Critical"
00:03:09 verbose #7751 > >
00:03:09 verbose #7752 > > instance of_string trace_level = function
00:03:09 verbose #7753 > > | "Verbose" => Verbose
00:03:09 verbose #7754 > > | "Debug" => Debug
00:03:09 verbose #7755 > > | "Info" => Info
00:03:09 verbose #7756 > > | "Warning" => Warning
00:03:09 verbose #7757 > > | "Critical" => Critical
00:03:09 verbose #7758 > > | x => failwith $'$"of_string trace_level / x: {!x}"'
00:03:09 verbose #7759 > 00:03:08 debug #322 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9a5abce1538fa5ab5184dff9a8e30ed23e766519934b16c3437ba9b82ba6cb17/main.spi
00:03:09 verbose #7760 > >
00:03:09 verbose #7761 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:09 verbose #7762 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:09 verbose #7763 > > │ ## repl_start │
00:03:09 verbose #7764 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:09 verbose #7765 > >
00:03:09 verbose #7766 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7767 > > inl repl_start () : optionm'.option' i64 =
00:03:09 verbose #7768 > > run_target function
00:03:09 verbose #7769 > > | Fsharp (Native) & x
00:03:09 verbose #7770 > > | Rust (Native) & x => fun () =>
00:03:09 verbose #7771 > > inl automation = env.get_environment_variable "AUTOMATION"
00:03:09 verbose #7772 > > // inl target =
00:03:09 verbose #7773 > > // match x with
00:03:09 verbose #7774 > > // | Fsharp (Native) => "Fsharp (Native)"
00:03:09 verbose #7775 > > // | Rust (Native) => "Rust (Native)"
00:03:09 verbose #7776 > > // inl assembly_name = env.get_entry_assembly_name ()
00:03:09 verbose #7777 > > // console.write_line ($'$"repl_start / automation:
00:03:09 verbose #7778 > > \'{!automation}\' / target: {!target} / assembly_name: {!assembly_name}"' :
00:03:09 verbose #7779 > > string)
00:03:09 verbose #7780 > > if automation = "True"
00:03:09 verbose #7781 > > then date_time.now () |> date_time.ticks |> fun (date_time.timestamp
00:03:09 verbose #7782 > > x) => x |> Some
00:03:09 verbose #7783 > > else None
00:03:09 verbose #7784 > > |> optionm'.box
00:03:09 verbose #7785 > > | _ => fun () => optionm'.none' ()
00:03:09 verbose #7786 > 00:03:09 debug #323 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4f8a1298f7f6330709bdb68e4a6b18f2f83870d2e105291201ea11610f78ec3e/main.spi
00:03:09 verbose #7787 > >
00:03:09 verbose #7788 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:09 verbose #7789 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:09 verbose #7790 > > │ ## trace_state │
00:03:09 verbose #7791 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:09 verbose #7792 > >
00:03:09 verbose #7793 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7794 > > type trace_state =
00:03:09 verbose #7795 > > {
00:03:09 verbose #7796 > > count : mut i64
00:03:09 verbose #7797 > > trace_file : mut (string -> ())
00:03:09 verbose #7798 > > enabled : mut bool
00:03:09 verbose #7799 > > level : mut trace_level
00:03:09 verbose #7800 > > repl_start : optionm'.option' i64
00:03:09 verbose #7801 > > }
00:03:09 verbose #7802 > >
00:03:09 verbose #7803 > > inl new_trace_state trace_level =
00:03:09 verbose #7804 > > {
00:03:09 verbose #7805 > > enabled = mut true
00:03:09 verbose #7806 > > count = mut 0i64
00:03:09 verbose #7807 > > level = mut trace_level
00:03:09 verbose #7808 > > trace_file = mut ignore
00:03:09 verbose #7809 > > repl_start = repl_start ()
00:03:09 verbose #7810 > > } : trace_state
00:03:09 verbose #7811 > 00:03:09 debug #324 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4ca5e5f74526e29df7604802643e8a6e42d30f85a806540c893c77be97dcb6c3/main.spi
00:03:09 verbose #7812 > >
00:03:09 verbose #7813 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:09 verbose #7814 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:09 verbose #7815 > > │ ## init_trace_state │
00:03:09 verbose #7816 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:09 verbose #7817 > >
00:03:09 verbose #7818 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7819 > > inl init_trace_state trace_level : () =
00:03:09 verbose #7820 > > inl trace_level =
00:03:09 verbose #7821 > > trace_level
00:03:09 verbose #7822 > > |> optionm'.default_value Verbose
00:03:09 verbose #7823 > > global "module State = let mutable trace_state = None"
00:03:09 verbose #7824 > > $"if State.trace_state.IsNone then State.trace_state <- !new_trace_state
00:03:09 verbose #7825 > > !trace_level |> Some" : ()
00:03:09 verbose #7826 > 00:03:09 debug #325 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f8bea58a340c53f9a6bf9e81cb71abfb521ea62e9b2338d230d727c9461c437f/main.spi
00:03:09 verbose #7827 > >
00:03:09 verbose #7828 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:09 verbose #7829 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:09 verbose #7830 > > │ ## get_trace_state_or_init │
00:03:09 verbose #7831 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:09 verbose #7832 > >
00:03:09 verbose #7833 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7834 > > inl get_trace_state_or_init trace_level : trace_state =
00:03:09 verbose #7835 > > init_trace_state trace_level
00:03:09 verbose #7836 > > $'State.trace_state.Value'
00:03:09 verbose #7837 > 00:03:09 debug #326 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/512a76d283506e276955d2868eba789afdaf50c899ab89bee5c2d7e646fbb54a/main.spi
00:03:09 verbose #7838 > >
00:03:09 verbose #7839 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:09 verbose #7840 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:09 verbose #7841 > > │ ## _locals │
00:03:09 verbose #7842 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:09 verbose #7843 > >
00:03:09 verbose #7844 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7845 > > inl _locals () = ""
00:03:09 verbose #7846 > 00:03:09 debug #327 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ce9b9b1406deeaa60ca0782ef08e2f84b165a72ebd731260c9598ebfeeffe04c/main.spi
00:03:09 verbose #7847 > >
00:03:09 verbose #7848 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:09 verbose #7849 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:09 verbose #7850 > > │ ## test_trace_level │
00:03:09 verbose #7851 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:09 verbose #7852 > >
00:03:09 verbose #7853 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7854 > > inl test_trace_level level : bool =
00:03:09 verbose #7855 > > inl state = get_trace_state_or_init None
00:03:09 verbose #7856 > > inl level' = *state.level
00:03:09 verbose #7857 > > if *state.enabled |> not
00:03:09 verbose #7858 > > then false
00:03:09 verbose #7859 > > else
00:03:09 verbose #7860 > > inl level : i32 = real real_core.union_tag level
00:03:09 verbose #7861 > > inl level' : i32 = real real_core.union_tag level'
00:03:09 verbose #7862 > > level >= level'
00:03:09 verbose #7863 > 00:03:09 debug #328 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bc7a23d309146542dbde47cb37f276d95e821392a0ac0258d5d3eeedf446a51a/main.spi
00:03:09 verbose #7864 > >
00:03:09 verbose #7865 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:09 verbose #7866 > > //// test
00:03:09 verbose #7867 > >
00:03:09 verbose #7868 > > test_trace_level Critical |> _assert_eq true
00:03:09 verbose #7869 > > test_trace_level Verbose |> _assert_eq true
00:03:09 verbose #7870 > >
00:03:09 verbose #7871 > > inl level = get_trace_state_or_init None .level
00:03:09 verbose #7872 > > level <- Debug
00:03:09 verbose #7873 > > test_trace_level Verbose |> _assert_eq false
00:03:09 verbose #7874 > > level <- Verbose
00:03:09 verbose #7875 > > test_trace_level Verbose |> _assert_eq true
00:03:09 verbose #7876 > 00:03:09 debug #329 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/251bb69c1a177494823edc59d5199a44015c80d669fd57b752cafc02be2f402a/main.spi
00:03:11 verbose #7877 > >
00:03:11 verbose #7878 > > ╭─[ 1.21s - stdout ]───────────────────────────────────────────────────────────╮
00:03:11 verbose #7879 > > │ assert_eq / actual: true / expected: true │
00:03:11 verbose #7880 > > │ assert_eq / actual: true / expected: true │
00:03:11 verbose #7881 > > │ assert_eq / actual: false / expected: false │
00:03:11 verbose #7882 > > │ assert_eq / actual: true / expected: true │
00:03:11 verbose #7883 > > │ │
00:03:11 verbose #7884 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:11 verbose #7885 > >
00:03:11 verbose #7886 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:11 verbose #7887 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:11 verbose #7888 > > │ ## trace_raw │
00:03:11 verbose #7889 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:11 verbose #7890 > >
00:03:11 verbose #7891 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:11 verbose #7892 > > let rec trace_raw level fn =
00:03:11 verbose #7893 > > inl trace_state = get_trace_state_or_init None
00:03:11 verbose #7894 > > if level |> test_trace_level then
00:03:11 verbose #7895 > > inl count = trace_state.count
00:03:11 verbose #7896 > > count <- *trace_state.count + 1
00:03:11 verbose #7897 > >
00:03:11 verbose #7898 > > inl text = $'$"%s{!fn ()}"' : string
00:03:11 verbose #7899 > > run_target function
00:03:11 verbose #7900 > > | Rust _ => fun () =>
00:03:11 verbose #7901 > > open rust_operators
00:03:11 verbose #7902 > > !\\(text, $'\@"println\!(""{}"", $0)"')
00:03:11 verbose #7903 > > | _ => fun () =>
00:03:11 verbose #7904 > > $'System.Console.WriteLine !text '
00:03:11 verbose #7905 > >
00:03:11 verbose #7906 > > *trace_state.trace_file text
00:03:11 verbose #7907 > 00:03:10 debug #330 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c976a0954c0d055502530f25538f02bda44bec27fad97bb5f2a19396b6f3fc09/main.spi
00:03:11 verbose #7908 > >
00:03:11 verbose #7909 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:11 verbose #7910 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:11 verbose #7911 > > │ ## trace │
00:03:11 verbose #7912 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:11 verbose #7913 > >
00:03:11 verbose #7914 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:11 verbose #7915 > > let trace (level : trace_level) (text_fn : () -> string) (locals : () -> string)
00:03:11 verbose #7916 > > =
00:03:11 verbose #7917 > > fun () =>
00:03:11 verbose #7918 > > inl trace_state = get_trace_state_or_init None
00:03:11 verbose #7919 > > inl time =
00:03:11 verbose #7920 > > run_target fun target =>
00:03:11 verbose #7921 > > match target with
00:03:11 verbose #7922 > > | Fsharp (Native)
00:03:11 verbose #7923 > > | Rust (Native) => fun () =>
00:03:11 verbose #7924 > > match trace_state.repl_start |> optionm'.unbox with
00:03:11 verbose #7925 > > | Some repl_start =>
00:03:11 verbose #7926 > > inl t =
00:03:11 verbose #7927 > > (date_time.now () |> date_time.ticks |> fun
00:03:11 verbose #7928 > > (date_time.timestamp x) => x)
00:03:11 verbose #7929 > > - repl_start |> date_time.time_span
00:03:11 verbose #7930 > > date_time.date_time_milliseconds
00:03:11 verbose #7931 > > 1i32 1i32 1i32
00:03:11 verbose #7932 > > (t |> date_time.hours)
00:03:11 verbose #7933 > > (t |> date_time.minutes)
00:03:11 verbose #7934 > > (t |> date_time.seconds)
00:03:11 verbose #7935 > > (t |> date_time.milliseconds)
00:03:11 verbose #7936 > > | None => date_time.now ()
00:03:11 verbose #7937 > > |> fun date_time =>
00:03:11 verbose #7938 > > inl format =
00:03:11 verbose #7939 > > match target with
00:03:11 verbose #7940 > > | Rust _ => "hh:mm:ss"
00:03:11 verbose #7941 > > | _ => "HH:mm:ss"
00:03:11 verbose #7942 > > $'!date_time.ToString !format '
00:03:11 verbose #7943 > > | _ => fun () => join ""
00:03:11 verbose #7944 > > inl count = *trace_state.count
00:03:11 verbose #7945 > > inl level_str = level |> to_string |> sm'.to_lower |> sm'.pad_left 7 ' '
00:03:11 verbose #7946 > > inl level_str =
00:03:11 verbose #7947 > > run_target function
00:03:11 verbose #7948 > > | Rust _ => fun () =>
00:03:11 verbose #7949 > > open rust_operators
00:03:11 verbose #7950 > > inl color : rust.ref' sm'.str =
00:03:11 verbose #7951 > > match level with
00:03:11 verbose #7952 > > | Verbose =>
00:03:11 verbose #7953 > > !\($'"inline_colorization::color_bright_black"')
00:03:11 verbose #7954 > > | Debug => !\($'"inline_colorization::color_bright_blue"')
00:03:11 verbose #7955 > > | Info => !\($'"inline_colorization::color_bright_green"')
00:03:11 verbose #7956 > > | Warning => !\($'"inline_colorization::color_yellow"')
00:03:11 verbose #7957 > > | Critical => !\($'"inline_colorization::color_bright_red"')
00:03:11 verbose #7958 > > inl level_str = level_str |> sm'.as_str
00:03:11 verbose #7959 > > inl color_reset : rust.ref' sm'.str =
00:03:11 verbose #7960 > > !\($'"inline_colorization::color_reset"')
00:03:11 verbose #7961 > > $'"\\\"{!color}{!level_str}{!color_reset}\\\""'
00:03:11 verbose #7962 > > |> sm'.format''
00:03:11 verbose #7963 > > |> sm'.from_std_string
00:03:11 verbose #7964 > > | _ => fun () => level_str
00:03:11 verbose #7965 > > $'$"{!time} {!level_str} #{!count} %s{!text_fn ()} / %s{!locals ()}"'
00:03:11 verbose #7966 > > |> sm'.trim_start ;[[]]
00:03:11 verbose #7967 > > |> sm'.trim_end ;[[ ' '; '/' ]]
00:03:11 verbose #7968 > > |> trace_raw level
00:03:11 verbose #7969 > 00:03:10 debug #331 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1f590949b9dae6691925a4c8ce23509c57679f0643e84b833ba8e20bc8e7d754/main.spi
00:03:11 verbose #7970 > >
00:03:11 verbose #7971 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:11 verbose #7972 > > //// test
00:03:11 verbose #7973 > >
00:03:11 verbose #7974 > > trace Debug (fun () => "test") _locals
00:03:11 verbose #7975 > > trace Debug (fun () => "test") _locals
00:03:11 verbose #7976 > > get_trace_state_or_init None .count
00:03:11 verbose #7977 > > |> fun x => *x
00:03:11 verbose #7978 > > |> _assert_eq 2
00:03:11 verbose #7979 > 00:03:10 debug #332 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/86d48a2ef38aa74ee58659e0f6eef746ed1e9125c1bffd546ef4933a80df981e/main.spi
00:03:11 verbose #7980 > >
00:03:11 verbose #7981 > > ╭─[ 318.17ms - stdout ]────────────────────────────────────────────────────────╮
00:03:11 verbose #7982 > > │ 00:00:00 debug #1 test │
00:03:11 verbose #7983 > > │ 00:00:00 debug #2 test │
00:03:11 verbose #7984 > > │ assert_eq / actual: 2L / expected: 2L │
00:03:11 verbose #7985 > > │ │
00:03:11 verbose #7986 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:11 verbose #7987 > >
00:03:11 verbose #7988 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:11 verbose #7989 > > //// test
00:03:11 verbose #7990 > > ///! rust
00:03:11 verbose #7991 > >
00:03:11 verbose #7992 > > types ()
00:03:11 verbose #7993 > > trace Debug (fun () => "test1") _locals
00:03:11 verbose #7994 > > trace Debug (fun () => "test2") _locals
00:03:11 verbose #7995 > > get_trace_state_or_init None .count
00:03:11 verbose #7996 > > |> fun x => *x
00:03:11 verbose #7997 > > |> _assert_eq 2
00:03:11 verbose #7998 > 00:03:11 debug #333 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4ec0ee56ef0eff1ffcb913099a09c6e090711b5fbf19ed27788d2ee68112749d/main.spi
00:03:22 verbose #7999 > >
00:03:22 verbose #8000 > > ╭─[ 11.16s - return value ]────────────────────────────────────────────────────╮
00:03:22 verbose #8001 > > │ 00:00:00 debug #1 test1 │
00:03:22 verbose #8002 > > │ 00:00:00 debug #2 test2 │
00:03:22 verbose #8003 > > │ assert_eq / actual: 2 / expected: 2 │
00:03:22 verbose #8004 > > │ │
00:03:22 verbose #8005 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:22 verbose #8006 > >
00:03:22 verbose #8007 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:22 verbose #8008 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:22 verbose #8009 > > │ ## main │
00:03:22 verbose #8010 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:22 verbose #8011 > >
00:03:22 verbose #8012 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:22 verbose #8013 > > inl main () =
00:03:22 verbose #8014 > > types ()
00:03:22 verbose #8015 > > init_trace_state None
00:03:22 verbose #8016 > > $"let trace x = !trace x" : ()
00:03:22 verbose #8017 > 00:03:22 debug #334 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6e5271eeb3fbbe9d776d28fd4e2bd9c05c20309c1e213b922686a134726b6d80/main.spi
00:03:23 verbose #8018 > 00:00:18 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 14906
00:03:23 verbose #8019 > 00:00:18 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:03:23 verbose #8020 > 00:00:18 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb to html
00:03:23 verbose #8021 > 00:00:18 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:03:23 verbose #8022 > 00:00:18 verbose #7 ! validate(nb)
00:03:24 verbose #8023 > 00:00:19 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:03:24 verbose #8024 > 00:00:19 verbose #9 ! return _pygments_highlight(
00:03:24 verbose #8025 > 00:00:19 verbose #10 ! [NbConvertApp] Writing 311822 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.html
00:03:24 verbose #8026 > 00:00:19 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 894
00:03:24 verbose #8027 > 00:00:19 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 894
00:03:24 verbose #8028 > 00:00:19 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:03:24 verbose #8029 > 00:00:19 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:03:24 verbose #8030 > 00:00:19 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:03:24 verbose #8031 > 00:00:19 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 15859
00:03:24 debug #8032 execute_with_options_async / exit_code: 0 / output.Length: 18855
00:03:24 debug #9 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path trace.dib --retries 3
00:03:24 debug #8033 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path am'.dib --retries 3",
[||], None, None, true, None)
00:03:24 verbose #8034 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "am'.dib", "--retries", "3"])
00:03:24 verbose #8035 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:03:26 verbose #8036 > >
00:03:26 verbose #8037 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:26 verbose #8038 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:26 verbose #8039 > > │ # am' │
00:03:26 verbose #8040 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:26 verbose #8041 > >
00:03:26 verbose #8042 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:26 verbose #8043 > > //// test
00:03:26 verbose #8044 > >
00:03:26 verbose #8045 > > open testing
00:03:26 verbose #8046 > >
00:03:26 verbose #8047 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:03:26 verbose #8048 > > #r
00:03:26 verbose #8049 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:03:26 verbose #8050 > > Net.Interactive.Spiral.dll"
00:03:26 verbose #8051 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:03:26 verbose #8052 > > #r
00:03:26 verbose #8053 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:03:26 verbose #8054 > > Net.Interactive.dll"
00:03:26 verbose #8055 > > open type Microsoft.DotNet.Interactive.Kernel
00:03:28 verbose #8056 > >
00:03:28 verbose #8057 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:28 verbose #8058 > > open rust_operators
00:03:28 verbose #8059 > >
00:03:28 verbose #8060 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:28 verbose #8061 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:28 verbose #8062 > > │ ## types () │
00:03:28 verbose #8063 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:28 verbose #8064 > >
00:03:28 verbose #8065 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:28 verbose #8066 > > inl types () =
00:03:28 verbose #8067 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:03:28 verbose #8068 > > Fable.Core.Emit(\"[[$0]]\")>]]\n#endif\ntype Slice<'T> = class end"
00:03:28 verbose #8069 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:03:28 verbose #8070 > > Fable.Core.Emit(\"_\")>]]\n#endif\ntype Slice'<'T> = class end"
00:03:28 verbose #8071 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:03:28 verbose #8072 > > Fable.Core.Emit(\"Vec<$0>\")>]]\n#endif\ntype Vec<'T> = class end"
00:03:29 verbose #8073 > 00:03:28 debug #335 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/05171f0cedc35f4bfe7fa1a1970309fe5a97636ad3a5d734a8f68a8fad5de27c/main.spi
00:03:29 verbose #8074 > >
00:03:29 verbose #8075 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:29 verbose #8076 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:29 verbose #8077 > > │ ## length │
00:03:29 verbose #8078 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:29 verbose #8079 > >
00:03:29 verbose #8080 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:29 verbose #8081 > > inl length forall dim {int} el. (a : a dim el) : dim =
00:03:29 verbose #8082 > > a |> length
00:03:29 verbose #8083 > 00:03:28 debug #336 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/27e0c60c696d883efbf07a896bc778102693afe8fb5b813ca5d5b068b71a4e05/main.spi
00:03:29 verbose #8084 > >
00:03:29 verbose #8085 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:29 verbose #8086 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:29 verbose #8087 > > │ ## index │
00:03:29 verbose #8088 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:29 verbose #8089 > >
00:03:29 verbose #8090 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:29 verbose #8091 > > inl index forall dim {int} el. (i : dim) (a : a dim el) : el =
00:03:29 verbose #8092 > > index a i
00:03:29 verbose #8093 > 00:03:28 debug #337 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/70668cc2f83a1a3e0e8ba49d94c73f66fdc8b88fc1ae57ba0da735e37635f9cb/main.spi
00:03:29 verbose #8094 > >
00:03:29 verbose #8095 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:29 verbose #8096 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:29 verbose #8097 > > │ ## append │
00:03:29 verbose #8098 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:29 verbose #8099 > >
00:03:29 verbose #8100 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:29 verbose #8101 > > instance append a dim {int; number} t =
00:03:29 verbose #8102 > > am.append
00:03:29 verbose #8103 > 00:03:28 debug #338 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/29163a0ea78f1ab20e072257068b901470eaf5aaaa02adec096b370fefa92db2/main.spi
00:03:29 verbose #8104 > >
00:03:29 verbose #8105 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:29 verbose #8106 > > //// test
00:03:29 verbose #8107 > >
00:03:29 verbose #8108 > > a ;[[ "a"; "b" ]] ++ a ;[[ "c"; "d" ]]
00:03:29 verbose #8109 > > |> _assert_eq (a ;[[ "a"; "b"; "c"; "d" ]] : _ i32 _)
00:03:29 verbose #8110 > 00:03:29 debug #339 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2c0aa0f19b089cd0b122bcaeb0cc7da23b23c46b989e3d6a36f8a77163c537e5/main.spi
00:03:30 verbose #8111 > >
00:03:30 verbose #8112 > > ╭─[ 823.13ms - stdout ]────────────────────────────────────────────────────────╮
00:03:30 verbose #8113 > > │ assert_eq / actual: [|"a"; "b"; "c"; "d"|] / expected: [|"a"; "b"; "c"; │
00:03:30 verbose #8114 > > │ "d"|] │
00:03:30 verbose #8115 > > │ │
00:03:30 verbose #8116 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:30 verbose #8117 > >
00:03:30 verbose #8118 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:30 verbose #8119 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:30 verbose #8120 > > │ ## collect │
00:03:30 verbose #8121 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:30 verbose #8122 > >
00:03:30 verbose #8123 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:30 verbose #8124 > > inl collect forall t r. (fn : t -> a i32 r) (items : a i32 t) : a i32 r =
00:03:30 verbose #8125 > > items
00:03:30 verbose #8126 > > |> am.map fn
00:03:30 verbose #8127 > > |> am.fold (++) (a ;[[]])
00:03:30 verbose #8128 > 00:03:29 debug #340 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0054faae5627e5138a25c780890bd7cf30ff7f25e719f2bfe572d5e739bbddf0/main.spi
00:03:30 verbose #8129 > >
00:03:30 verbose #8130 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:30 verbose #8131 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:30 verbose #8132 > > │ ## choose │
00:03:30 verbose #8133 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:30 verbose #8134 > >
00:03:30 verbose #8135 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:30 verbose #8136 > > inl choose f l =
00:03:30 verbose #8137 > > (l, [[]])
00:03:30 verbose #8138 > > ||> am.foldBack fun x acc =>
00:03:30 verbose #8139 > > match f x with
00:03:30 verbose #8140 > > | Some y => y :: acc
00:03:30 verbose #8141 > > | None => acc
00:03:30 verbose #8142 > > |> listm.toArray
00:03:30 verbose #8143 > 00:03:29 debug #341 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b2b31ed5dbc452f2e0febe3e09a788a5b7b9f1fa6f8c8fe3c4d168807e02860d/main.spi
00:03:30 verbose #8144 > >
00:03:30 verbose #8145 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:30 verbose #8146 > > //// test
00:03:30 verbose #8147 > >
00:03:30 verbose #8148 > > (am.init 10i32 id : a _ _)
00:03:30 verbose #8149 > > |> choose (fun x => if x % 2 = 0 then Some x else None)
00:03:30 verbose #8150 > > |> _assert_eq (a ;[[ 0; 2; 4; 6; 8 ]] : _ i32 _)
00:03:30 verbose #8151 > 00:03:30 debug #342 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b753a5f0316f2870e29ebbb06ff899684918b25fc90a9749653d54d6ceff9cf4/main.spi
00:03:30 verbose #8152 > >
00:03:30 verbose #8153 > > ╭─[ 446.99ms - stdout ]────────────────────────────────────────────────────────╮
00:03:30 verbose #8154 > > │ assert_eq / actual: [|0; 2; 4; 6; 8|] / expected: [|0; 2; 4; 6; 8|] │
00:03:30 verbose #8155 > > │ │
00:03:30 verbose #8156 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:30 verbose #8157 > >
00:03:30 verbose #8158 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:30 verbose #8159 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:30 verbose #8160 > > │ ## sum │
00:03:30 verbose #8161 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:30 verbose #8162 > >
00:03:30 verbose #8163 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:30 verbose #8164 > > inl sum (a' : a _ _) =
00:03:30 verbose #8165 > > a' |> am.fold (+) 0
00:03:30 verbose #8166 > 00:03:30 debug #343 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fbf1ae69bc8006c2051fb0133e3c7c72b570afa4c86f6cdeb4807691386b40a2/main.spi
00:03:30 verbose #8167 > >
00:03:30 verbose #8168 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:30 verbose #8169 > > //// test
00:03:30 verbose #8170 > >
00:03:30 verbose #8171 > > am.init 10i32 id
00:03:30 verbose #8172 > > |> sum
00:03:30 verbose #8173 > > |> _assert_eq 45
00:03:30 verbose #8174 > 00:03:30 debug #344 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7353c32f3aa6f8e078060e3230f4040c53d9239926cb110c574998007244aebb/main.spi
00:03:31 verbose #8175 > >
00:03:31 verbose #8176 > > ╭─[ 119.14ms - stdout ]────────────────────────────────────────────────────────╮
00:03:31 verbose #8177 > > │ assert_eq / actual: 45 / expected: 45 │
00:03:31 verbose #8178 > > │ │
00:03:31 verbose #8179 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8180 > >
00:03:31 verbose #8181 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:31 verbose #8182 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:31 verbose #8183 > > │ ## init_series │
00:03:31 verbose #8184 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8185 > >
00:03:31 verbose #8186 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8187 > > inl init_series start end inc =
00:03:31 verbose #8188 > > inl total = conv ((end - start) / inc) + 1
00:03:31 verbose #8189 > > am.init total (conv >> (*) inc >> (+) start) : a i32 _
00:03:31 verbose #8190 > 00:03:30 debug #345 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/711b330f53fc4101c1121700cddeed7129bbf913e49f11fd63b9e3df04e73b07/main.spi
00:03:31 verbose #8191 > >
00:03:31 verbose #8192 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8193 > > //// test
00:03:31 verbose #8194 > >
00:03:31 verbose #8195 > > init_series 0 1 0.5
00:03:31 verbose #8196 > > |> _assert_eq (a ;[[ 0f64; 0.5; 1 ]])
00:03:31 verbose #8197 > 00:03:30 debug #346 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4d38c5b035249896031164e1ca220c0342f6523761182ddd07ff5863d8394acf/main.spi
00:03:31 verbose #8198 > >
00:03:31 verbose #8199 > > ╭─[ 122.13ms - stdout ]────────────────────────────────────────────────────────╮
00:03:31 verbose #8200 > > │ assert_eq / actual: [|0.0; 0.5; 1.0|] / expected: [|0.0; 0.5; 1.0|] │
00:03:31 verbose #8201 > > │ │
00:03:31 verbose #8202 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8203 > >
00:03:31 verbose #8204 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:31 verbose #8205 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:31 verbose #8206 > > │ ## head │
00:03:31 verbose #8207 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8208 > >
00:03:31 verbose #8209 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8210 > > inl head (ar : a _ _) =
00:03:31 verbose #8211 > > if var_is ar || length ar > 0
00:03:31 verbose #8212 > > then ar |> index 0
00:03:31 verbose #8213 > > else error_type "The length of the array should be greater than 0."
00:03:31 verbose #8214 > 00:03:30 debug #347 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f650b91edd70dddcf2842a7062dc418d8f415c07a3c67945f51343e09094f36b/main.spi
00:03:31 verbose #8215 > >
00:03:31 verbose #8216 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:31 verbose #8217 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:31 verbose #8218 > > │ ## last │
00:03:31 verbose #8219 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8220 > >
00:03:31 verbose #8221 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8222 > > inl last (ar : a _ _) =
00:03:31 verbose #8223 > > inl len = length ar
00:03:31 verbose #8224 > > if var_is ar || len > 0
00:03:31 verbose #8225 > > then ar |> index (len - 1)
00:03:31 verbose #8226 > > else error_type "The length of the array should be greater than 0."
00:03:31 verbose #8227 > 00:03:30 debug #348 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8d7deb08db32d991026f63db8c9edb20a6b6771ab7dfaa0aeda3ef3498b832c6/main.spi
00:03:31 verbose #8228 > >
00:03:31 verbose #8229 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8230 > > //// test
00:03:31 verbose #8231 > >
00:03:31 verbose #8232 > > am.init 10i32 id
00:03:31 verbose #8233 > > |> last
00:03:31 verbose #8234 > > |> _assert_eq 9
00:03:31 verbose #8235 > 00:03:30 debug #349 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4e29c31f646065b068be552f14d033007b9763d0518c86760041b9cffee5da3b/main.spi
00:03:31 verbose #8236 > >
00:03:31 verbose #8237 > > ╭─[ 97.43ms - stdout ]─────────────────────────────────────────────────────────╮
00:03:31 verbose #8238 > > │ assert_eq / actual: 9 / expected: 9 │
00:03:31 verbose #8239 > > │ │
00:03:31 verbose #8240 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8241 > >
00:03:31 verbose #8242 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:31 verbose #8243 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:31 verbose #8244 > > │ ## try_pick │
00:03:31 verbose #8245 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8246 > >
00:03:31 verbose #8247 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8248 > > inl try_pick forall t u. (fn : t -> option u) (array : a _ t) : option u =
00:03:31 verbose #8249 > > (array, None)
00:03:31 verbose #8250 > > ||> am.foldBack fun x acc =>
00:03:31 verbose #8251 > > match acc with
00:03:31 verbose #8252 > > | Some _ => acc
00:03:31 verbose #8253 > > | None => x |> fn
00:03:31 verbose #8254 > 00:03:31 debug #350 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/236c083855d39026369136cecfa5cd320122194aa103462fbae22b318fb0d491/main.spi
00:03:31 verbose #8255 > >
00:03:31 verbose #8256 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8257 > > //// test
00:03:31 verbose #8258 > >
00:03:31 verbose #8259 > > am.init 10i32 id
00:03:31 verbose #8260 > > |> try_pick (fun x => if x = 5i32 then Some x else None)
00:03:31 verbose #8261 > > |> _assert_eq (Some 5i32)
00:03:31 verbose #8262 > 00:03:31 debug #351 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b53755456e0080913b0cb11ae1377d64a60c6abff084b0df8bd2dadc136e1eaf/main.spi
00:03:31 verbose #8263 > >
00:03:31 verbose #8264 > > ╭─[ 155.27ms - stdout ]────────────────────────────────────────────────────────╮
00:03:31 verbose #8265 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │
00:03:31 verbose #8266 > > │ │
00:03:31 verbose #8267 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8268 > >
00:03:31 verbose #8269 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:31 verbose #8270 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:31 verbose #8271 > > │ ## indexed' │
00:03:31 verbose #8272 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:31 verbose #8273 > >
00:03:31 verbose #8274 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8275 > > inl indexed' forall t dim {int; number} dim' {int; number} u {number}. (ar : a
00:03:31 verbose #8276 > > dim t) : a dim' (u * t) =
00:03:31 verbose #8277 > > ((0, a ;[[]]), ar)
00:03:31 verbose #8278 > > ||> am.fold fun (i, acc) x =>
00:03:31 verbose #8279 > > i + 1, acc ++ a ;[[i, x]]
00:03:31 verbose #8280 > > |> snd
00:03:31 verbose #8281 > 00:03:31 debug #352 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eb84b5f2086d4dbbffca5a21fe80576aa846bf37464a2ae249e165fd7dfdb3cb/main.spi
00:03:31 verbose #8282 > >
00:03:31 verbose #8283 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:31 verbose #8284 > > //// test
00:03:31 verbose #8285 > >
00:03:31 verbose #8286 > > am.init 3i32 ((*) 2)
00:03:31 verbose #8287 > > |> indexed'
00:03:31 verbose #8288 > > |> _assert_eq (a ;[[0i32, 0; 1, 2; 2, 4]] : a i32 _)
00:03:31 verbose #8289 > 00:03:31 debug #353 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8f4b165d589d68e44af446008fdea361a765ce8faa06ae9519078abc880cea23/main.spi
00:03:32 verbose #8290 > >
00:03:32 verbose #8291 > > ╭─[ 217.69ms - stdout ]────────────────────────────────────────────────────────╮
00:03:32 verbose #8292 > > │ assert_eq / actual: [|struct (0, 0); struct (1, 2); struct (2, 4)|] / │
00:03:32 verbose #8293 > > │ expected: [|struct (0, 0); struct (1, 2); struct (2, 4)|] │
00:03:32 verbose #8294 > > │ │
00:03:32 verbose #8295 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8296 > >
00:03:32 verbose #8297 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8298 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8299 > > │ ## map_base │
00:03:32 verbose #8300 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8301 > >
00:03:32 verbose #8302 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8303 > > inl map_base forall t u. (fn : t -> u) (x : array_base t) : array_base u =
00:03:32 verbose #8304 > > a x
00:03:32 verbose #8305 > > |> am.map fn
00:03:32 verbose #8306 > > |> fun (a x : _ i64 _) => x
00:03:32 verbose #8307 > 00:03:31 debug #354 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0744e55f4781b3fa0190ea9a02374159447e3b9eb0ec8fc4deb63b2b8fe7a652/main.spi
00:03:32 verbose #8308 > >
00:03:32 verbose #8309 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8310 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8311 > > │ ## average │
00:03:32 verbose #8312 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8313 > >
00:03:32 verbose #8314 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8315 > > inl average forall el {number}. (a : a _ el) : el =
00:03:32 verbose #8316 > > a |> $'Array.average'
00:03:32 verbose #8317 > 00:03:31 debug #355 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/97cb3712d3675ecc50bd94bfc5312b555bef00f768d31f3ff08725475507503c/main.spi
00:03:32 verbose #8318 > >
00:03:32 verbose #8319 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8320 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8321 > > │ ## distinct │
00:03:32 verbose #8322 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8323 > >
00:03:32 verbose #8324 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8325 > > inl distinct forall dim el. (a : a dim el) : a dim el =
00:03:32 verbose #8326 > > a |> $'Array.distinct'
00:03:32 verbose #8327 > 00:03:31 debug #356 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/89e905c34a2beb97a7fb7af16ba1089f9ef5f6bdc08b4c66736278173da736c3/main.spi
00:03:32 verbose #8328 > >
00:03:32 verbose #8329 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8330 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8331 > > │ ## to_list' │
00:03:32 verbose #8332 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8333 > >
00:03:32 verbose #8334 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8335 > > inl to_list' forall dim t. (items : a dim t) : listm'.list' t =
00:03:32 verbose #8336 > > items |> $'Array.toList'
00:03:32 verbose #8337 > 00:03:31 debug #357 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/898c42f26c2c6975cae5e462ae3b3ced08d46e785a29ac4aef42f0bd072fdabc/main.spi
00:03:32 verbose #8338 > >
00:03:32 verbose #8339 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8340 > > //// test
00:03:32 verbose #8341 > >
00:03:32 verbose #8342 > > (a ;[[ "a"; "b" ]] : _ i32 _)
00:03:32 verbose #8343 > > |> to_list'
00:03:32 verbose #8344 > > |> listm'.unbox
00:03:32 verbose #8345 > > |> _assert_eq ([[ "a"; "b" ]])
00:03:32 verbose #8346 > 00:03:31 debug #358 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3264e8b36fcd971e7611762fd0f4ada3f1f91e193e05e97baa727579dc37f7cc/main.spi
00:03:32 verbose #8347 > >
00:03:32 verbose #8348 > > ╭─[ 142.81ms - stdout ]────────────────────────────────────────────────────────╮
00:03:32 verbose #8349 > > │ assert_eq / actual: UH0_1 ("a", UH0_1 ("b", UH0_0)) / expected: UH0_1 ("a", │
00:03:32 verbose #8350 > > │ UH0_1 ("b", UH0_0)) │
00:03:32 verbose #8351 > > │ │
00:03:32 verbose #8352 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8353 > >
00:03:32 verbose #8354 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8355 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8356 > > │ ## parallel_map │
00:03:32 verbose #8357 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8358 > >
00:03:32 verbose #8359 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8360 > > inl parallel_map forall dim el el'. (fn : el -> el') (a : a dim el) : a dim el'
00:03:32 verbose #8361 > > =
00:03:32 verbose #8362 > > a |> $'Array.Parallel.map' fn
00:03:32 verbose #8363 > 00:03:32 debug #359 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e51208639dc5a89c3bb1aa279947f3bc409eac06f979d7c1f33660549d3b8f6e/main.spi
00:03:32 verbose #8364 > >
00:03:32 verbose #8365 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8366 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8367 > > │ ## map' │
00:03:32 verbose #8368 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8369 > >
00:03:32 verbose #8370 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8371 > > inl map' forall dim el el'. (fn : el -> el') (a : a dim el) : a dim el' =
00:03:32 verbose #8372 > > $'!a |> Array.map !fn '
00:03:32 verbose #8373 > 00:03:32 debug #360 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/90e0d2525f2c083eb1a367136deb8eb7cd0ef0d9bc8d9de4872f79e801019ab3/main.spi
00:03:32 verbose #8374 > >
00:03:32 verbose #8375 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8376 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8377 > > │ ## sort_by │
00:03:32 verbose #8378 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8379 > >
00:03:32 verbose #8380 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8381 > > inl sort_by forall dim el. (fn : el -> _) (a : a dim el) : a dim el =
00:03:32 verbose #8382 > > a |> $'Array.sortBy' fn
00:03:32 verbose #8383 > 00:03:32 debug #361 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8647fab2ff2c236a125f33645543bd2b32a842e86eba96f8d9ee9a012f1b6525/main.spi
00:03:32 verbose #8384 > >
00:03:32 verbose #8385 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8386 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8387 > > │ ## sort │
00:03:32 verbose #8388 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8389 > >
00:03:32 verbose #8390 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8391 > > inl sort forall dim el. (a : a dim el) : a dim el =
00:03:32 verbose #8392 > > a |> $'Array.sort'
00:03:32 verbose #8393 > 00:03:32 debug #362 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0acb34ab42c205013dd16fc3b89bb0ad30d9428328261531eb212fa7dbf1e5d6/main.spi
00:03:32 verbose #8394 > >
00:03:32 verbose #8395 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8396 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8397 > > │ ## sort_descending │
00:03:32 verbose #8398 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8399 > >
00:03:32 verbose #8400 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8401 > > inl sort_descending forall dim el. (a : a dim el) : a dim el =
00:03:32 verbose #8402 > > a |> $'Array.sortDescending'
00:03:32 verbose #8403 > 00:03:32 debug #363 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/67f53faa629c007819cb29934ca920a20d62084d5c280bb095a9bdd5cb1e2a34/main.spi
00:03:32 verbose #8404 > >
00:03:32 verbose #8405 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8406 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8407 > > │ ## transpose │
00:03:32 verbose #8408 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8409 > >
00:03:32 verbose #8410 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8411 > > inl transpose forall dim el. (a : a dim (a dim el)) : a dim (a dim el) =
00:03:32 verbose #8412 > > a |> $'Array.transpose'
00:03:32 verbose #8413 > 00:03:32 debug #364 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f18067a115268d7b76bd4fee4578457bc79abe8752a8e263e7bed927cd1bced3/main.spi
00:03:32 verbose #8414 > >
00:03:32 verbose #8415 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8416 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8417 > > │ ## try_item │
00:03:32 verbose #8418 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8419 > >
00:03:32 verbose #8420 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8421 > > inl try_item forall dim el. (i : i32) (a : a dim el) : option el =
00:03:32 verbose #8422 > > a |> $'Array.tryItem' i |> optionm'.unbox
00:03:32 verbose #8423 > 00:03:32 debug #365 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e6624494218f42e3d5cab6254c5f4396d6560b04272ad3388235d1f3ecb5c70e/main.spi
00:03:32 verbose #8424 > >
00:03:32 verbose #8425 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:32 verbose #8426 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:32 verbose #8427 > > │ ## indexed │
00:03:32 verbose #8428 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:32 verbose #8429 > >
00:03:32 verbose #8430 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:32 verbose #8431 > > inl indexed (array : a _ _) =
00:03:32 verbose #8432 > > (([[]], 0), array)
00:03:32 verbose #8433 > > ||> am.fold fun (acc, i) x =>
00:03:32 verbose #8434 > > (i, x) :: acc, i + 1
00:03:33 verbose #8435 > > |> fst
00:03:33 verbose #8436 > > |> listm.rev
00:03:33 verbose #8437 > > |> listm.toArray
00:03:33 verbose #8438 > 00:03:32 debug #366 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7cf7de0fb3b19c58108df354f8411d67811d0ddc1796675a877f71675049f8aa/main.spi
00:03:33 verbose #8439 > >
00:03:33 verbose #8440 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8441 > > //// test
00:03:33 verbose #8442 > >
00:03:33 verbose #8443 > > am.init 3i32 ((*) 2)
00:03:33 verbose #8444 > > |> indexed
00:03:33 verbose #8445 > > |> _assert_eq (a ;[[0i32, 0; 1, 2; 2, 4]] : a i32 _)
00:03:33 verbose #8446 > 00:03:32 debug #367 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/076d6dab0dda200e7521030c4e9d575e7236dc40db59a0040e039fdbd3057607/main.spi
00:03:33 verbose #8447 > >
00:03:33 verbose #8448 > > ╭─[ 199.25ms - stdout ]────────────────────────────────────────────────────────╮
00:03:33 verbose #8449 > > │ assert_eq / actual: [|struct (0, 0); struct (1, 2); struct (2, 4)|] / │
00:03:33 verbose #8450 > > │ expected: [|struct (0, 0); struct (1, 2); struct (2, 4)|] │
00:03:33 verbose #8451 > > │ │
00:03:33 verbose #8452 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8453 > >
00:03:33 verbose #8454 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8455 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8456 > > │ ## vec │
00:03:33 verbose #8457 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8458 > >
00:03:33 verbose #8459 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8460 > > nominal vec t = $"Vec<`t>"
00:03:33 verbose #8461 > 00:03:32 debug #368 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b4989555092b08926412691e8af84061a69997a38bb02a2f2860aef80ff8de08/main.spi
00:03:33 verbose #8462 > >
00:03:33 verbose #8463 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8464 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8465 > > │ ## from_vec │
00:03:33 verbose #8466 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8467 > >
00:03:33 verbose #8468 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8469 > > inl from_vec forall dim el. (vec : vec el) : a dim el =
00:03:33 verbose #8470 > > !\\(vec, $'"fable_library_rust::NativeArray_::array_from($0)"')
00:03:33 verbose #8471 > 00:03:32 debug #369 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b56c9b3a6a9d40c10fd6ae9382d3556b73b39e52f92cf6dd8df853299348c947/main.spi
00:03:33 verbose #8472 > >
00:03:33 verbose #8473 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8474 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8475 > > │ ## to_vec │
00:03:33 verbose #8476 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8477 > >
00:03:33 verbose #8478 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8479 > > inl to_vec forall t. (ab : array_base t) : vec t =
00:03:33 verbose #8480 > > !\\(ab, $'"$0.to_vec()"')
00:03:33 verbose #8481 > 00:03:33 debug #370 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/da3d7b6aeabdde609aeebac530056689c44ad4c190cc6e59a3e14012355f3fc4/main.spi
00:03:33 verbose #8482 > >
00:03:33 verbose #8483 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8484 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8485 > > │ ## vec_push │
00:03:33 verbose #8486 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8487 > >
00:03:33 verbose #8488 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8489 > > inl vec_push forall el. (el : el) (vec : vec el) : vec el =
00:03:33 verbose #8490 > > inl el = join el
00:03:33 verbose #8491 > > inl vec = join vec
00:03:33 verbose #8492 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore
00:03:33 verbose #8493 > > // inl vec = vec |> rust.to_mut
00:03:33 verbose #8494 > > (!\($'"true; !vec.push(!el)"') : bool) |> ignore
00:03:33 verbose #8495 > > !\($'"!vec"')
00:03:33 verbose #8496 > 00:03:33 debug #371 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ce07ba6ac51f0c4061661441ddd4dd37fa9548d447ca7d9ff203ea183ca76e5/main.spi
00:03:33 verbose #8497 > >
00:03:33 verbose #8498 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8499 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8500 > > │ ## vec_reverse │
00:03:33 verbose #8501 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8502 > >
00:03:33 verbose #8503 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8504 > > inl vec_reverse forall el. (vec : vec el) : vec el =
00:03:33 verbose #8505 > > inl vec = join vec
00:03:33 verbose #8506 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore
00:03:33 verbose #8507 > > (!\($'"true; !vec.reverse()"') : bool) |> ignore
00:03:33 verbose #8508 > > !\($'"!vec"')
00:03:33 verbose #8509 > 00:03:33 debug #372 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/db59a62ed17130a9c2dc08590550501adce8907b611aef6a95b4fc28c16c8e82/main.spi
00:03:33 verbose #8510 > >
00:03:33 verbose #8511 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8512 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8513 > > │ ## vec_retain │
00:03:33 verbose #8514 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8515 > >
00:03:33 verbose #8516 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8517 > > inl vec_retain forall el. (fn : el -> bool) (vec : vec el) : vec el =
00:03:33 verbose #8518 > > inl vec = join vec
00:03:33 verbose #8519 > > inl fn = join fn
00:03:33 verbose #8520 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore
00:03:33 verbose #8521 > > // inl vec = vec |> rust.to_mut
00:03:33 verbose #8522 > > (!\($'"true; !vec.retain(|x| !fn(x.clone()))"') : bool) |> ignore
00:03:33 verbose #8523 > > !\($'"!vec"')
00:03:33 verbose #8524 > 00:03:33 debug #373 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/07ec90294c428e0859dedff19ad8a1a0e9737c8a06e98dba41e33857e79ac27f/main.spi
00:03:33 verbose #8525 > >
00:03:33 verbose #8526 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8527 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8528 > > │ ## vec_sort_by_key │
00:03:33 verbose #8529 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8530 > >
00:03:33 verbose #8531 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8532 > > inl vec_sort_by_key forall el t. (fn : el -> t) (vec : vec el) : vec el =
00:03:33 verbose #8533 > > inl vec = join vec
00:03:33 verbose #8534 > > inl fn = join fn
00:03:33 verbose #8535 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore
00:03:33 verbose #8536 > > // inl vec = vec |> rust.to_mut
00:03:33 verbose #8537 > > (!\($'"true; !vec.sort_by_key(|x| !fn(x.clone()))"') : bool) |> ignore
00:03:33 verbose #8538 > > !\($'"!vec"')
00:03:33 verbose #8539 > 00:03:33 debug #374 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ebf60b56256fb59d92d2c3049cd158400d1fd12dab05cd65b688cec7550e97b2/main.spi
00:03:33 verbose #8540 > >
00:03:33 verbose #8541 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8542 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8543 > > │ ## vec_extend │
00:03:33 verbose #8544 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8545 > >
00:03:33 verbose #8546 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8547 > > inl vec_extend forall el. (el : vec el) (vec : vec el) : vec el =
00:03:33 verbose #8548 > > inl el = join el
00:03:33 verbose #8549 > > inl vec = join vec
00:03:33 verbose #8550 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore
00:03:33 verbose #8551 > > // inl vec = vec |> rust.to_mut
00:03:33 verbose #8552 > > (!\($'"true; !vec.extend(!el)"') : bool) |> ignore
00:03:33 verbose #8553 > > !\($'"!vec"')
00:03:33 verbose #8554 > 00:03:33 debug #375 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4309a30568890b96332f4d2e14ba0be6086e90d76be5ab4d08d867adca56cf0e/main.spi
00:03:33 verbose #8555 > >
00:03:33 verbose #8556 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8557 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8558 > > │ ## vec_collect │
00:03:33 verbose #8559 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8560 > >
00:03:33 verbose #8561 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8562 > > inl vec_collect fn vec =
00:03:33 verbose #8563 > > ((;[[]] |> to_vec), (vec |> from_vec : _ i32 _))
00:03:33 verbose #8564 > > ||> am.fold fun acc x =>
00:03:33 verbose #8565 > > acc |> vec_extend (fn x)
00:03:33 verbose #8566 > 00:03:33 debug #376 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dd2b7e2a7f43d95ac9559f3078722be69256890dd17307d7bac207ac26a9d7c8/main.spi
00:03:33 verbose #8567 > >
00:03:33 verbose #8568 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:33 verbose #8569 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:33 verbose #8570 > > │ ## vec_collect_option │
00:03:33 verbose #8571 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:33 verbose #8572 > >
00:03:33 verbose #8573 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:33 verbose #8574 > > inl vec_collect_option vec =
00:03:33 verbose #8575 > > ((;[[]] |> to_vec |> Ok), (vec |> from_vec : _ i32 _))
00:03:33 verbose #8576 > > ||> am.fold fun acc x =>
00:03:33 verbose #8577 > > x
00:03:33 verbose #8578 > > |> resultm.unbox
00:03:33 verbose #8579 > > |> fun x =>
00:03:33 verbose #8580 > > match acc, x |> resultm.map optionm'.unbox with
00:03:33 verbose #8581 > > | Ok acc, Ok (Some x) => acc |> vec_extend x |> Ok
00:03:33 verbose #8582 > > | _, Error error => error |> Error
00:03:33 verbose #8583 > > | _ => acc
00:03:33 verbose #8584 > 00:03:33 debug #377 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8319f7db94f2fdcf02d2d6dc3aa2f23cb048e9129539786edbe0c5b8dd5b0712/main.spi
00:03:34 verbose #8585 > >
00:03:34 verbose #8586 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8587 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8588 > > │ ## vec_collect_into │
00:03:34 verbose #8589 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8590 > >
00:03:34 verbose #8591 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8592 > > inl vec_collect_into forall (c : * -> * -> *) t e.
00:03:34 verbose #8593 > > (x : vec (c t e))
00:03:34 verbose #8594 > > : c (vec t) e
00:03:34 verbose #8595 > > =
00:03:34 verbose #8596 > > !\($'"!x.into_iter().collect()"')
00:03:34 verbose #8597 > 00:03:33 debug #378 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/895ea0d1ce622fe0833c0c6a2ea44fed436ac0c57cf9aba6bd51420bf27189c9/main.spi
00:03:34 verbose #8598 > >
00:03:34 verbose #8599 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8600 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8601 > > │ ## vec_mapi │
00:03:34 verbose #8602 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8603 > >
00:03:34 verbose #8604 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8605 > > inl vec_mapi forall dim t u. (fn : dim -> t -> u) (ar : vec t) : vec u =
00:03:34 verbose #8606 > > inl fn = join fn
00:03:34 verbose #8607 > > inl ar = join ar
00:03:34 verbose #8608 > > !\($'"!ar.iter().enumerate().map(|(i, x)|
00:03:34 verbose #8609 > > !fn(i.try_into().unwrap())(x.clone())).collect::<Vec<_>>()"')
00:03:34 verbose #8610 > 00:03:33 debug #379 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1485a4c0154f9fa26f222033d832f4e48df9ab4ef338e64b9a8792eb1301647d/main.spi
00:03:34 verbose #8611 > >
00:03:34 verbose #8612 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8613 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8614 > > │ ## vec_map │
00:03:34 verbose #8615 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8616 > >
00:03:34 verbose #8617 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8618 > > inl vec_map forall t u. (fn : t -> u) (ar : vec t) : vec u =
00:03:34 verbose #8619 > > (!\($'"true; let _result = !ar.into_iter().map(|x| { //"') : bool) |> ignore
00:03:34 verbose #8620 > > (!\\(fn !\($'"x"'), $'"true; $0 }).collect::<Vec<_>>()"') : bool) |> ignore
00:03:34 verbose #8621 > > !\($'"_result"')
00:03:34 verbose #8622 > 00:03:33 debug #380 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d6c519debf793feafb8bb451a6ca75ac88999189105ff5f47067e2c30213a37b/main.spi
00:03:34 verbose #8623 > >
00:03:34 verbose #8624 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8625 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8626 > > │ ## vec_map''' │
00:03:34 verbose #8627 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8628 > >
00:03:34 verbose #8629 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8630 > > inl vec_map''' forall t u. (fn : t -> u) (ar : vec t) : vec u =
00:03:34 verbose #8631 > > (!\($'"true; let _result = !ar.into_iter().map(|x| { //"') : bool) |> ignore
00:03:34 verbose #8632 > > (!\\(fn !\($'"x"'), $'"true; $0 }}).collect::<Vec<_>>(); {{ //"') : bool) |>
00:03:34 verbose #8633 > > ignore
00:03:34 verbose #8634 > > !\($'"_result"')
00:03:34 verbose #8635 > 00:03:33 debug #381 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ebad21af26d21ff89db73d04dc455469a725f0cc6a5e3c96fde908d0ed42e5f8/main.spi
00:03:34 verbose #8636 > >
00:03:34 verbose #8637 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8638 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8639 > > │ ## vec_map' │
00:03:34 verbose #8640 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8641 > >
00:03:34 verbose #8642 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8643 > > inl vec_map' forall t u. (fn : t -> u) (ar : vec t) : vec u =
00:03:34 verbose #8644 > > !\\((ar, fn), $'"$0.into_iter().map(|x|
00:03:34 verbose #8645 > > $1(x.clone())).collect::<Vec<_>>()"')
00:03:34 verbose #8646 > 00:03:34 debug #382 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/af02c20ebcd24db02534b6b969d909ab1220a4550d88ce9e92b81737b58d54c8/main.spi
00:03:34 verbose #8647 > >
00:03:34 verbose #8648 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8649 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8650 > > │ ## vec_fold' │
00:03:34 verbose #8651 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8652 > >
00:03:34 verbose #8653 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8654 > > inl vec_fold' forall t u. (fn : u -> t -> u) (init : u) (ar : vec t) : u =
00:03:34 verbose #8655 > > (!\\(ar, $'"true; let _result = $0.into_iter().fold(!init, |acc, x| { //"')
00:03:34 verbose #8656 > > : bool) |> ignore
00:03:34 verbose #8657 > > (!\\(fn !\($'"acc"') !\($'"x"'), $'"true; $0 })"') : bool) |> ignore
00:03:34 verbose #8658 > > !\($'"_result"')
00:03:34 verbose #8659 > 00:03:34 debug #383 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a221541ed80cb34fe88ee0457e075de286071756071c07c6e1ec86196167b4d3/main.spi
00:03:34 verbose #8660 > >
00:03:34 verbose #8661 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8662 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8663 > > │ ## vec_for_each │
00:03:34 verbose #8664 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8665 > >
00:03:34 verbose #8666 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8667 > > inl vec_for_each forall t. (fn : t -> ()) (ar : vec t) : () =
00:03:34 verbose #8668 > > !\\((ar, fn), $'"$0.iter().for_each(|x| { $1(x.clone()); })"')
00:03:34 verbose #8669 > 00:03:34 debug #384 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6e731cf810b9698dfdc40dbf88a07644ea19804f208c4d906f3c8fe48060bbfb/main.spi
00:03:34 verbose #8670 > >
00:03:34 verbose #8671 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8672 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8673 > > │ ## vec_for_each' │
00:03:34 verbose #8674 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8675 > >
00:03:34 verbose #8676 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8677 > > inl vec_for_each' forall t. (fn : t -> ()) (ar : vec t) : () =
00:03:34 verbose #8678 > > (!\($'"true; !ar.into_iter().for_each(|x| { //"') : bool) |> ignore
00:03:34 verbose #8679 > > inl x = fn !\($'"x"')
00:03:34 verbose #8680 > > (!\($'"true; !x }}); { //"') : bool) |> ignore
00:03:34 verbose #8681 > 00:03:34 debug #385 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9e74df595514fb192f23478d9fbd31dc1ed6e2b238613a78e385246212d6672c/main.spi
00:03:34 verbose #8682 > >
00:03:34 verbose #8683 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:34 verbose #8684 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:34 verbose #8685 > > │ ## vec_filter │
00:03:34 verbose #8686 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:34 verbose #8687 > >
00:03:34 verbose #8688 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:34 verbose #8689 > > inl vec_filter forall t. (fn : t -> bool) (ar : vec t) : vec t =
00:03:34 verbose #8690 > > inl fn = join fn
00:03:34 verbose #8691 > > inl ar = join ar
00:03:34 verbose #8692 > > !\($'"!ar.into_iter().filter(|x|
00:03:34 verbose #8693 > > !fn(x.clone().clone())).collect::<Vec<_>>()"')
00:03:34 verbose #8694 > 00:03:34 debug #386 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dfeac9be7d083fdb08282787c98f910e62d2886fc984fa9624c5ff0e58ffa117/main.spi
00:03:35 verbose #8695 > >
00:03:35 verbose #8696 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8697 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8698 > > │ ## vec_len │
00:03:35 verbose #8699 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8700 > >
00:03:35 verbose #8701 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8702 > > inl vec_len forall t. (vec : vec t) : unativeint =
00:03:35 verbose #8703 > > !\\(vec, $'"$0.len()"')
00:03:35 verbose #8704 > 00:03:34 debug #387 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7bce16e963b78cab95a4502e18b236440f6c90e5500e590af917c29579c182b8/main.spi
00:03:35 verbose #8705 > >
00:03:35 verbose #8706 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8707 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8708 > > │ ## vec_chunks │
00:03:35 verbose #8709 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8710 > >
00:03:35 verbose #8711 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8712 > > inl vec_chunks forall t. (n : i32) (vec : vec t) : vec (vec t) =
00:03:35 verbose #8713 > > !\\(vec, $'"$0.chunks(!n).map(|x| x.into_iter().map(|x|
00:03:35 verbose #8714 > > x.clone()).collect::<Vec<_>>()).collect::<Vec<_>>()"')
00:03:35 verbose #8715 > 00:03:34 debug #388 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b29b3c36c65893c068f7d59199c1063a7dca3a52b01c45b4eb82492be6130139/main.spi
00:03:35 verbose #8716 > >
00:03:35 verbose #8717 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8718 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8719 > > │ ## slice │
00:03:35 verbose #8720 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8721 > >
00:03:35 verbose #8722 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8723 > > nominal slice t = $"Slice<`t>"
00:03:35 verbose #8724 > 00:03:34 debug #389 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/10f539719de092700cba6c888450cdd1a30544aeddc3948e6b85f4c55ded7626/main.spi
00:03:35 verbose #8725 > >
00:03:35 verbose #8726 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8727 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8728 > > │ ## slice │
00:03:35 verbose #8729 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8730 > >
00:03:35 verbose #8731 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8732 > > inl slice forall dim {int; number} el. from nearTo s : a dim el =
00:03:35 verbose #8733 > > am.slice { from nearTo } s
00:03:35 verbose #8734 > 00:03:34 debug #390 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fd13d94ae91bfeafd08f03966f342c8386d04edee5ad33a2eed3045b4da7b5cc/main.spi
00:03:35 verbose #8735 > >
00:03:35 verbose #8736 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8737 > > //// test
00:03:35 verbose #8738 > >
00:03:35 verbose #8739 > > inl x : _ i32 _ = a ;[[ 1i32; 2; 3 ]]
00:03:35 verbose #8740 > > x |> slice 0 0 |> _assert_eq (a ;[[]])
00:03:35 verbose #8741 > > x |> slice 0 1 |> _assert_eq (a ;[[ 1 ]])
00:03:35 verbose #8742 > > x |> slice 1 1 |> _assert_eq (a ;[[]])
00:03:35 verbose #8743 > > x |> slice 1 2 |> _assert_eq (a ;[[ 2 ]])
00:03:35 verbose #8744 > > x |> slice 2 2 |> _assert_eq (a ;[[]])
00:03:35 verbose #8745 > > x |> slice 0 2 |> _assert_eq (a ;[[ 1; 2 ]])
00:03:35 verbose #8746 > 00:03:35 debug #391 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aa0cbcba18cad5eddc259fc61122313c9766fc6064b136b704265ffb0a40355f/main.spi
00:03:35 verbose #8747 > >
00:03:35 verbose #8748 > > ╭─[ 192.89ms - stdout ]────────────────────────────────────────────────────────╮
00:03:35 verbose #8749 > > │ assert_eq / actual: [||] / expected: [||] │
00:03:35 verbose #8750 > > │ assert_eq / actual: [|1|] / expected: [|1|] │
00:03:35 verbose #8751 > > │ assert_eq / actual: [||] / expected: [||] │
00:03:35 verbose #8752 > > │ assert_eq / actual: [|2|] / expected: [|2|] │
00:03:35 verbose #8753 > > │ assert_eq / actual: [||] / expected: [||] │
00:03:35 verbose #8754 > > │ assert_eq / actual: [|1; 2|] / expected: [|1; 2|] │
00:03:35 verbose #8755 > > │ │
00:03:35 verbose #8756 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8757 > >
00:03:35 verbose #8758 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8759 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8760 > > │ ## range │
00:03:35 verbose #8761 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8762 > >
00:03:35 verbose #8763 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8764 > > union range dim =
00:03:35 verbose #8765 > > | Start : dim
00:03:35 verbose #8766 > > | End : dim -> dim
00:03:35 verbose #8767 > >
00:03:35 verbose #8768 > > inl range start end s =
00:03:35 verbose #8769 > > inl start, end =
00:03:35 verbose #8770 > > match start, end with
00:03:35 verbose #8771 > > | Start start, End fn =>
00:03:35 verbose #8772 > > start, s |> length |> conv |> fn
00:03:35 verbose #8773 > > | End start_fn, End end_fn =>
00:03:35 verbose #8774 > > inl len = s |> length |> conv
00:03:35 verbose #8775 > > start_fn len, end_fn len
00:03:35 verbose #8776 > > s |> slice (start |> unbox) (end |> unbox)
00:03:35 verbose #8777 > 00:03:35 debug #392 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/62051b25999460fb884a51a532e9a0ae7d10be1643b7a85161837608790fc525/main.spi
00:03:35 verbose #8778 > >
00:03:35 verbose #8779 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8780 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8781 > > │ ## slice' │
00:03:35 verbose #8782 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8783 > >
00:03:35 verbose #8784 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8785 > > nominal slice' el dim = $"Slice'<`el>"
00:03:35 verbose #8786 > 00:03:35 debug #393 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/adf76f76aff3c0bd3b662ffa28da54b77120904430611eca7b17e2d5ca06b108/main.spi
00:03:35 verbose #8787 > >
00:03:35 verbose #8788 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8789 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8790 > > │ ## slice_singleton │
00:03:35 verbose #8791 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8792 > >
00:03:35 verbose #8793 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8794 > > inl slice_singleton forall dim el. (x : option el) : slice' el dim =
00:03:35 verbose #8795 > > match x with
00:03:35 verbose #8796 > > | Some x => !\($'"[[!x]]"')
00:03:35 verbose #8797 > > | None =>
00:03:35 verbose #8798 > > !\($'"[[\\\"\\\".to_string()]]"') : slice' el dim
00:03:35 verbose #8799 > > // emit_expr `(()) `(slice' el dim) () ($'"[[@dim]]"' : string) :
00:03:35 verbose #8800 > > slice' el 10
00:03:35 verbose #8801 > > // !\( : string) : slice' el i32 // !\($'"[[]]"')
00:03:35 verbose #8802 > 00:03:35 debug #394 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d14395871ba4e120c5a706ec53f25f7d74260e0c3f06d133a1a9fbe149d67ad/main.spi
00:03:35 verbose #8803 > >
00:03:35 verbose #8804 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8805 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8806 > > │ ## slice_length │
00:03:35 verbose #8807 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8808 > >
00:03:35 verbose #8809 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8810 > > inl slice_length forall t dim. (x : slice' t dim) : unativeint =
00:03:35 verbose #8811 > > !\($'"!x.len()"')
00:03:35 verbose #8812 > 00:03:35 debug #395 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/95ec1754d1f7d1a5f46a2695950e410d20e62ccfbad18f99fb9c954d95daeca0/main.spi
00:03:35 verbose #8813 > >
00:03:35 verbose #8814 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:35 verbose #8815 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:35 verbose #8816 > > │ ## slice_range │
00:03:35 verbose #8817 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:35 verbose #8818 > >
00:03:35 verbose #8819 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:35 verbose #8820 > > inl slice_range forall t dim. (start : range t) (end : range t) (s : slice' t
00:03:35 verbose #8821 > > dim) : rust.ref' (slice' t dim) =
00:03:35 verbose #8822 > > inl len = s |> slice_length
00:03:35 verbose #8823 > > inl start, end =
00:03:35 verbose #8824 > > match start, end with
00:03:35 verbose #8825 > > | Start start, End fn => start, len |> convert |> fn |> unativeint
00:03:35 verbose #8826 > > | End start_fn, End end_fn => len |> convert |> start_fn, len |> convert
00:03:35 verbose #8827 > > |> end_fn |> unativeint
00:03:35 verbose #8828 > > match start, end with
00:03:35 verbose #8829 > > | start, end when unbox end =. len => !\($'"&!s[[!start..]]"')
00:03:35 verbose #8830 > > | start, end => !\\((start, end), $'"&!s[[$0..$1]]"')
00:03:35 verbose #8831 > 00:03:35 debug #396 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b9793b84627eda67fbff99108b2aaee06645c407fa82d5e91052d42b923b0757/main.spi
00:03:36 verbose #8832 > >
00:03:36 verbose #8833 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:36 verbose #8834 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:36 verbose #8835 > > │ ## new_slice │
00:03:36 verbose #8836 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:36 verbose #8837 > >
00:03:36 verbose #8838 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:36 verbose #8839 > > inl new_slice forall el dim. (el : el) : slice' el dim =
00:03:36 verbose #8840 > > !\\(el, $'"[[$0; @dim]]"')
00:03:36 verbose #8841 > 00:03:35 debug #397 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/75fad9053ebd313a2e351e401009c91730d2c6d3d9a4696f49bd65a4428e780d/main.spi
00:03:36 verbose #8842 > >
00:03:36 verbose #8843 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:36 verbose #8844 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:36 verbose #8845 > > │ ## as_slice │
00:03:36 verbose #8846 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:36 verbose #8847 > >
00:03:36 verbose #8848 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:36 verbose #8849 > > inl as_slice forall t. (x : array_base t) : rust.ref' (slice t) =
00:03:36 verbose #8850 > > inl x = x |> to_vec
00:03:36 verbose #8851 > > !\($'"!x.as_slice()"')
00:03:36 verbose #8852 > 00:03:35 debug #398 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4eb60d36e3f3305ccbb00a5d2546b2d5191774a043b7b4331f327069c99b2254/main.spi
00:03:36 verbose #8853 > >
00:03:36 verbose #8854 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:36 verbose #8855 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:36 verbose #8856 > > │ ## slice_to_vec │
00:03:36 verbose #8857 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:36 verbose #8858 > >
00:03:36 verbose #8859 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:36 verbose #8860 > > inl slice_to_vec forall t. (slice : rust.ref' (slice t)) : vec t =
00:03:36 verbose #8861 > > !\\(slice, $'"$0.iter().map(|x| *x).collect::<Vec<_>>()"')
00:03:36 verbose #8862 > 00:03:35 debug #399 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d1771cf46969db10839e9a0160c369046fd831e22fd483c06a2d001b71e978df/main.spi
00:03:36 verbose #8863 > >
00:03:36 verbose #8864 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:36 verbose #8865 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:36 verbose #8866 > > │ ## any │
00:03:36 verbose #8867 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:36 verbose #8868 > >
00:03:36 verbose #8869 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:36 verbose #8870 > > inl any forall t. (fn : t -> bool) (source : array_base t) : bool =
00:03:36 verbose #8871 > > !\($'"!source.any(|x| !fn(x))"')
00:03:36 verbose #8872 > 00:03:35 debug #400 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/173269b7ef3b0d6bf099812e2ce46557548f35af7408bba96d378e1b6f9fe85c/main.spi
00:03:36 verbose #8873 > >
00:03:36 verbose #8874 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:36 verbose #8875 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:36 verbose #8876 > > │ ## iter_collect vec │
00:03:36 verbose #8877 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:36 verbose #8878 > >
00:03:36 verbose #8879 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:36 verbose #8880 > > open iter_prototypes
00:03:36 verbose #8881 > >
00:03:36 verbose #8882 > > instance iter_collect vec = fun (iter : iter_prototypes.into_iterator u) =>
00:03:36 verbose #8883 > > !\($'"!iter.collect::<Vec<_>>()"')
00:03:36 verbose #8884 > >
00:03:36 verbose #8885 > > instance iter_collect'' vec = fun (iter : iter_prototypes.into_iterator (t (u
00:03:36 verbose #8886 > > v))) =>
00:03:36 verbose #8887 > > !\($'"!iter.collect::<Vec<_>>()"')
00:03:36 verbose #8888 > 00:03:35 debug #401 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/07eef605ed9b4064d0bcf5e4548a748f53fde7d2cf087bb255b2069c89a55de4/main.spi
00:03:36 verbose #8889 > >
00:03:36 verbose #8890 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:36 verbose #8891 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:36 verbose #8892 > > │ ## new_vec │
00:03:36 verbose #8893 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:36 verbose #8894 > >
00:03:36 verbose #8895 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:36 verbose #8896 > > inl new_vec forall t. (items : list t) : vec t =
00:03:36 verbose #8897 > > inl items =
00:03:36 verbose #8898 > > (items, ("", 0i32))
00:03:36 verbose #8899 > > ||> listm.foldBack fun (x : t) (acc, i) =>
00:03:36 verbose #8900 > > inl x = join x
00:03:36 verbose #8901 > > $'"!x"' +. (if i = 0 then "" else ",") +. acc, i + 1
00:03:36 verbose #8902 > > |> fst
00:03:36 verbose #8903 > > !\($'"vec\![[" + !items + "]]"')
00:03:36 verbose #8904 > 00:03:36 debug #402 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9a9490bb2cedee7194ee50307b586630473801b815a0bc9b4b84633e535a3a61/main.spi
00:03:36 verbose #8905 > >
00:03:36 verbose #8906 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:36 verbose #8907 > > //// test
00:03:36 verbose #8908 > > ///! rust
00:03:36 verbose #8909 > >
00:03:36 verbose #8910 > > types ()
00:03:36 verbose #8911 > > sm'.types ()
00:03:36 verbose #8912 > > [[ 0i32; 1 ]]
00:03:36 verbose #8913 > > |> new_vec
00:03:36 verbose #8914 > > |> sm'.format_debug'
00:03:36 verbose #8915 > > |> sm'.from_std_string
00:03:36 verbose #8916 > > |> _assert_eq "[[0, 1]]"
00:03:36 verbose #8917 > 00:03:36 debug #403 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3069855be15ab9ebb98671e348c7d3091124a1c7bbf676e7a083a7f69a5a91c9/main.spi
00:03:47 verbose #8918 > >
00:03:47 verbose #8919 > > ╭─[ 10.66s - return value ]────────────────────────────────────────────────────╮
00:03:47 verbose #8920 > > │ assert_eq / actual: "[0, 1]" / expected: "[0, 1]" │
00:03:47 verbose #8921 > > │ │
00:03:47 verbose #8922 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:47 verbose #8923 > 00:00:22 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 47295
00:03:47 verbose #8924 > 00:00:22 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:03:47 verbose #8925 > 00:00:23 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb to html
00:03:47 verbose #8926 > 00:00:23 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:03:47 verbose #8927 > 00:00:23 verbose #7 ! validate(nb)
00:03:48 verbose #8928 > 00:00:23 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:03:48 verbose #8929 > 00:00:23 verbose #9 ! return _pygments_highlight(
00:03:48 verbose #8930 > 00:00:24 verbose #10 ! [NbConvertApp] Writing 411775 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.html
00:03:48 verbose #8931 > 00:00:24 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 890
00:03:48 verbose #8932 > 00:00:24 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 890
00:03:48 verbose #8933 > 00:00:24 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/am''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/am''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:03:49 verbose #8934 > 00:00:24 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:03:49 verbose #8935 > 00:00:24 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:03:49 verbose #8936 > 00:00:24 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 48244
00:03:49 debug #8937 execute_with_options_async / exit_code: 0 / output.Length: 52250
00:03:49 debug #10 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path am'.dib --retries 3
00:03:49 debug #8938 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path crypto.dib --retries 3",
[||], None, None, true, None)
00:03:49 verbose #8939 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "crypto.dib", "--retries", "3"])
00:03:49 verbose #8940 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:03:50 verbose #8941 > >
00:03:50 verbose #8942 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:50 verbose #8943 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:50 verbose #8944 > > │ # crypto │
00:03:50 verbose #8945 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:50 verbose #8946 > >
00:03:50 verbose #8947 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:50 verbose #8948 > > open rust_operators
00:03:50 verbose #8949 > >
00:03:50 verbose #8950 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:03:50 verbose #8951 > > #r
00:03:50 verbose #8952 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:03:50 verbose #8953 > > Net.Interactive.Spiral.dll"
00:03:50 verbose #8954 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:03:50 verbose #8955 > > #r
00:03:50 verbose #8956 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:03:50 verbose #8957 > > Net.Interactive.dll"
00:03:50 verbose #8958 > > open type Microsoft.DotNet.Interactive.Kernel
00:03:53 verbose #8959 > 00:03:52 debug #404 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/509422cf3bb8a8cfc4cbb3c916e280922525b9b9428a427906e968efadb5b7b1/main.spi
00:03:53 verbose #8960 > >
00:03:53 verbose #8961 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:53 verbose #8962 > > //// test
00:03:53 verbose #8963 > >
00:03:53 verbose #8964 > > open testing
00:03:53 verbose #8965 > > open file_system_operators
00:03:53 verbose #8966 > 00:03:53 debug #405 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/656184934e117cab614fcd21f8f1878f55d2fd4b84b51ce6ea2f9b8339ee5933/main.spi
00:03:53 verbose #8967 > >
00:03:53 verbose #8968 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:53 verbose #8969 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:53 verbose #8970 > > │ ## types │
00:03:53 verbose #8971 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:53 verbose #8972 > >
00:03:53 verbose #8973 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:53 verbose #8974 > > inl types () =
00:03:53 verbose #8975 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:03:53 verbose #8976 > > Fable.Core.Emit(\"sha2::Sha256\")>]]\n#endif\ntype sha2_Sha256 = class end"
00:03:53 verbose #8977 > 00:03:53 debug #406 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a69dfcf8eb9a991696d1d1f27edc5b56db1cb93ea50af7f5e20a2549267719f8/main.spi
00:03:53 verbose #8978 > >
00:03:53 verbose #8979 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:53 verbose #8980 > > inl types () =
00:03:53 verbose #8981 > > sm'.types ()
00:03:53 verbose #8982 > > am'.types ()
00:03:53 verbose #8983 > > threading.types ()
00:03:53 verbose #8984 > > rust.types ()
00:03:53 verbose #8985 > > date_time.types ()
00:03:53 verbose #8986 > > file_system.types ()
00:03:53 verbose #8987 > > stream.types ()
00:03:53 verbose #8988 > > runtime.types ()
00:03:53 verbose #8989 > > types ()
00:03:53 verbose #8990 > 00:03:53 debug #407 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/91280e33e639d258810d0cd2962d4fd001b60b49bc30f3f824e87d03ab199bae/main.spi
00:03:53 verbose #8991 > >
00:03:53 verbose #8992 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:53 verbose #8993 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:53 verbose #8994 > > │ ## sha256 │
00:03:53 verbose #8995 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:53 verbose #8996 > >
00:03:53 verbose #8997 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:53 verbose #8998 > > nominal sha256 = $'System.Security.Cryptography.SHA256'
00:03:53 verbose #8999 > >
00:03:53 verbose #9000 > > inl sha256 () : sha256 =
00:03:53 verbose #9001 > > $'`sha256.Create' ()
00:03:53 verbose #9002 > 00:03:53 debug #408 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7047d440f8f723263d68c533d8599915cba357652ec38c99af11fc51faa58310/main.spi
00:03:53 verbose #9003 > >
00:03:53 verbose #9004 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:53 verbose #9005 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:53 verbose #9006 > > │ ## sha256_compute_hash │
00:03:53 verbose #9007 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:53 verbose #9008 > >
00:03:53 verbose #9009 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:53 verbose #9010 > > inl sha256_compute_hash (x : sha256) (data : a i32 u8) : a i32 u8 =
00:03:53 verbose #9011 > > data |> $'!x.ComputeHash'
00:03:53 verbose #9012 > 00:03:53 debug #409 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d61eeb041a185fa376f92664d5998a7ef0a2dcaca88d8bf204d637e5e733a1e8/main.spi
00:03:54 verbose #9013 > >
00:03:54 verbose #9014 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:54 verbose #9015 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:54 verbose #9016 > > │ ## create_hash │
00:03:54 verbose #9017 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:54 verbose #9018 > >
00:03:54 verbose #9019 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:54 verbose #9020 > > inl create_hash (x : string) : any =
00:03:54 verbose #9021 > > open ts_operators
00:03:54 verbose #9022 > > global "type ICryptoCreateHash = abstract createHash: x: string -> obj"
00:03:54 verbose #9023 > > inl crypto : $'ICryptoCreateHash' = ts.import_all "crypto"
00:03:54 verbose #9024 > > !\\(x, $'"!crypto.createHash($0)"')
00:03:54 verbose #9025 > 00:03:53 debug #410 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3faca2bd9064c574e95404a0ea97e0fc1adf32ae3ffad06cf1a1e6560a614b76/main.spi
00:03:54 verbose #9026 > >
00:03:54 verbose #9027 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:54 verbose #9028 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:54 verbose #9029 > > │ ## hash_update │
00:03:54 verbose #9030 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:54 verbose #9031 > >
00:03:54 verbose #9032 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:54 verbose #9033 > > inl hash_update (s : string) (x : any) : any =
00:03:54 verbose #9034 > > open ts_operators
00:03:54 verbose #9035 > > !\\((x, s), $'"$0.update($1, \'utf8\')"')
00:03:54 verbose #9036 > 00:03:53 debug #411 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/66293bbbeb6cfd45f0c59a29a1566e7eb82e5f2bc4d1ff8fc9e253a6ab9ce805/main.spi
00:03:54 verbose #9037 > >
00:03:54 verbose #9038 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:54 verbose #9039 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:54 verbose #9040 > > │ ## hash_digest │
00:03:54 verbose #9041 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:54 verbose #9042 > >
00:03:54 verbose #9043 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:54 verbose #9044 > > inl hash_digest (s : string) (x : any) : string =
00:03:54 verbose #9045 > > open ts_operators
00:03:54 verbose #9046 > > !\\((x, s), $'"$0.digest($1)"')
00:03:54 verbose #9047 > 00:03:53 debug #412 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/987fdb0fa9d2e4913ddf87f1f0928df598a060af378d96a6c9c217cca2476b26/main.spi
00:03:54 verbose #9048 > >
00:03:54 verbose #9049 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:54 verbose #9050 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:54 verbose #9051 > > │ ## hash_text │
00:03:54 verbose #9052 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:54 verbose #9053 > >
00:03:54 verbose #9054 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:54 verbose #9055 > > inl hash_text (input : string) =
00:03:54 verbose #9056 > > run_target function
00:03:54 verbose #9057 > > | Fsharp (Native) => fun () =>
00:03:54 verbose #9058 > > inl input = join input
00:03:54 verbose #9059 > > inl sha256 = sha256 () |> use
00:03:54 verbose #9060 > > input
00:03:54 verbose #9061 > > |> sm'.utf8_get_bytes
00:03:54 verbose #9062 > > |> sha256_compute_hash sha256
00:03:54 verbose #9063 > > |> am.map (sm'.byte_to_string "x2")
00:03:54 verbose #9064 > > |> seq.of_array'
00:03:54 verbose #9065 > > |> sm'.concat ""
00:03:54 verbose #9066 > > | TypeScript _ => fun () =>
00:03:54 verbose #9067 > > create_hash "sha256"
00:03:54 verbose #9068 > > |> hash_update input
00:03:54 verbose #9069 > > |> hash_digest "hex"
00:03:54 verbose #9070 > > | _ => fun () => null ()
00:03:54 verbose #9071 > 00:03:53 debug #413 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3cb44b6e85de428b2164e7d11e6de9f00bd00906c7da200dee10d4618255fde9/main.spi
00:03:54 verbose #9072 > >
00:03:54 verbose #9073 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:54 verbose #9074 > > //// test
00:03:54 verbose #9075 > >
00:03:54 verbose #9076 > > ""
00:03:54 verbose #9077 > > |> hash_text
00:03:54 verbose #9078 > > |> _assert_eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
00:03:54 verbose #9079 > 00:03:53 debug #414 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c8b347e63e8c107df8ce2b6dfffbedb03d78cc6b7941140da6bf1147514ca427/main.spi
00:03:55 verbose #9080 > >
00:03:55 verbose #9081 > > ╭─[ 954.13ms - stdout ]────────────────────────────────────────────────────────╮
00:03:55 verbose #9082 > > │ assert_eq / actual: │
00:03:55 verbose #9083 > > │ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" / │
00:03:55 verbose #9084 > > │ expected: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" │
00:03:55 verbose #9085 > > │ │
00:03:55 verbose #9086 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:55 verbose #9087 > >
00:03:55 verbose #9088 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:55 verbose #9089 > > //// test
00:03:55 verbose #9090 > >
00:03:55 verbose #9091 > > " "
00:03:55 verbose #9092 > > |> hash_text
00:03:55 verbose #9093 > > |> _assert_eq "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
00:03:55 verbose #9094 > 00:03:54 debug #415 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/75b248d5b91b594986461341b19da3ac3ca5a0b3a83e3acd7fc22fe77272d60e/main.spi
00:03:55 verbose #9095 > >
00:03:55 verbose #9096 > > ╭─[ 239.04ms - stdout ]────────────────────────────────────────────────────────╮
00:03:55 verbose #9097 > > │ assert_eq / actual: │
00:03:55 verbose #9098 > > │ "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068" / │
00:03:55 verbose #9099 > > │ expected: "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068" │
00:03:55 verbose #9100 > > │ │
00:03:55 verbose #9101 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:55 verbose #9102 > >
00:03:55 verbose #9103 > > ── markdown ────────────────────────────────────────────────────────────────────
00:03:55 verbose #9104 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:03:55 verbose #9105 > > │ ## get_file_hash' │
00:03:55 verbose #9106 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:55 verbose #9107 > >
00:03:55 verbose #9108 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:55 verbose #9109 > > inl get_file_hash' (path : string) : result string string =
00:03:55 verbose #9110 > > inl path = path |> file_system.normalize_path
00:03:55 verbose #9111 > > inl exit_code, result =
00:03:55 verbose #9112 > > runtime.execution_options fun x => { x with
00:03:55 verbose #9113 > > command = $'$"pwsh -c \\\"(Get-FileHash \'{!path}\' -Algorithm
00:03:55 verbose #9114 > > SHA256).Hash\\\""'
00:03:55 verbose #9115 > > }
00:03:55 verbose #9116 > > |> runtime.execute_with_options
00:03:55 verbose #9117 > > if exit_code = 0
00:03:55 verbose #9118 > > then result |> sm'.to_lower |> Ok
00:03:55 verbose #9119 > > else result |> Error
00:03:55 verbose #9120 > 00:03:55 debug #416 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ea3c4c85ac4f65ff52c7c930852a979ec09f12e2c0c07e656f7d567dd46d17e9/main.spi
00:03:55 verbose #9121 > >
00:03:55 verbose #9122 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:55 verbose #9123 > > //// test
00:03:55 verbose #9124 > >
00:03:55 verbose #9125 > > types ()
00:03:55 verbose #9126 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:03:55 verbose #9127 > > disposable |> use |> ignore
00:03:55 verbose #9128 > > inl file_name = "test.txt"
00:03:55 verbose #9129 > > inl path = temp_folder </> file_name
00:03:55 verbose #9130 > > "" |> file_system.write_all_text_async path |> async.run_synchronously
00:03:55 verbose #9131 > > path
00:03:55 verbose #9132 > > |> get_file_hash'
00:03:55 verbose #9133 > > |> resultm.get
00:03:55 verbose #9134 > > |> _assert_eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
00:03:55 verbose #9135 > 00:03:55 debug #417 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fc264ee6780f336f902c108138f04e820ada8eb99c80762d9298cdd7243de76b/main.spi
00:03:58 verbose #9136 > >
00:03:58 verbose #9137 > > ╭─[ 2.73s - stdout ]───────────────────────────────────────────────────────────╮
00:03:58 verbose #9138 > > │ 00:00:00 debug #1 execute_with_options_async / options: struct (None, │
00:03:58 verbose #9139 > > │ "pwsh -c "(Get-FileHash │
00:03:58 verbose #9140 > > │ '/tmp/!dotnet-repl/20240520-1344-2221-2187-200000d4ea3f/test.txt' -Algorithm │
00:03:58 verbose #9141 > > │ SHA256).Hash"", │
00:03:58 verbose #9142 > > │ [||], None, None, true, None) │
00:03:58 verbose #9143 > > │ 00:00:00 verbose #2 > │
00:03:58 verbose #9144 > > │ E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 │
00:03:58 verbose #9145 > > │ 00:00:00 debug #3 execute_with_options_async / exit_code: 0 / │
00:03:58 verbose #9146 > > │ output.Length: 64 │
00:03:58 verbose #9147 > > │ assert_eq / actual: │
00:03:58 verbose #9148 > > │ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" / │
00:03:58 verbose #9149 > > │ expected: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" │
00:03:58 verbose #9150 > > │ │
00:03:58 verbose #9151 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:03:58 verbose #9152 > >
00:03:58 verbose #9153 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:03:58 verbose #9154 > > //// test
00:03:58 verbose #9155 > > ///! rust -d chrono encoding_rs encoding_rs_io futures futures-lite regex
00:03:58 verbose #9156 > >
00:03:58 verbose #9157 > > types ()
00:03:58 verbose #9158 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:03:58 verbose #9159 > > inl file_name = "test.txt"
00:03:58 verbose #9160 > > inl path = temp_folder </> file_name
00:03:58 verbose #9161 > > "" |> file_system.write_all_text path
00:03:58 verbose #9162 > > path
00:03:58 verbose #9163 > > |> get_file_hash'
00:03:58 verbose #9164 > > |> resultm.get
00:03:58 verbose #9165 > > |> _assert_eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
00:03:58 verbose #9166 > > disposable |> use |> ignore
00:03:58 verbose #9167 > 00:03:57 debug #418 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1d0285c4e16356e8a84eca25ff9343c44bcc29f0a1828ccd0f9cbf94a4d5106d/main.spi
00:04:14 verbose #9168 > >
00:04:14 verbose #9169 > > ╭─[ 15.81s - return value ]────────────────────────────────────────────────────╮
00:04:14 verbose #9170 > > │ 00:00:00 verbose #1 file_system.create_directory / dir: │
00:04:14 verbose #9171 > > │ /tmp/!spiral_builder_e67895e85259ef69a69189fd135d5d2b018bdb988b50dbb531fce83 │
00:04:14 verbose #9172 > > │ efede2f55/20240520-1344-3798-1777-000000d371a2 │
00:04:14 verbose #9173 > > │ 00:00:00 debug #2 runtime.execute_with_options / file_name: pwsh / │
00:04:14 verbose #9174 > > │ arguments: ["-c", "(Get-FileHash │
00:04:14 verbose #9175 > > │ '/tmp/!spiral_builder_e67895e85259ef69a69189fd135d5d2b018bdb988b50dbb531fce8 │
00:04:14 verbose #9176 > > │ 3efede2f55/20240520-1344-3798-1777-000000d371a2/test.txt' -Algorithm │
00:04:14 verbose #9177 > > │ SHA256).Hash"] / options: (None, "pwsh -c "(Get-FileHash │
00:04:14 verbose #9178 > > │ '/tmp/!spiral_builder_e67895e85259ef69a69189fd135d5d2b018bdb988b50dbb531fce8 │
00:04:14 verbose #9179 > > │ 3efede2f55/20240520-1344-3798-1777-000000d371a2/test.txt' -Algorithm │
00:04:14 verbose #9180 > > │ SHA256).Hash"", Array(MutCell([])), None, None, true, None) │
00:04:14 verbose #9181 > > │ 00:00:00 verbose #3 > │
00:04:14 verbose #9182 > > │ E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 │
00:04:14 verbose #9183 > > │ 00:00:00 verbose #4 runtime.execute_with_options / result / exit_code: │
00:04:14 verbose #9184 > > │ 0 / std_trace.Length: 64 │
00:04:14 verbose #9185 > > │ assert_eq / actual: │
00:04:14 verbose #9186 > > │ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" / │
00:04:14 verbose #9187 > > │ expected: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" │
00:04:14 verbose #9188 > > │ │
00:04:14 verbose #9189 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:14 verbose #9190 > >
00:04:14 verbose #9191 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:14 verbose #9192 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:14 verbose #9193 > > │ ## sha256' │
00:04:14 verbose #9194 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:14 verbose #9195 > >
00:04:14 verbose #9196 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:14 verbose #9197 > > nominal sha256' = $'sha2_Sha256'
00:04:14 verbose #9198 > 00:04:13 debug #419 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3fc7050c577980b603787fc45f509ff9eb475675fa82d62abd0bb0f234dadcc6/main.spi
00:04:14 verbose #9199 > >
00:04:14 verbose #9200 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:14 verbose #9201 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:14 verbose #9202 > > │ ## new_sha256 │
00:04:14 verbose #9203 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:14 verbose #9204 > >
00:04:14 verbose #9205 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:14 verbose #9206 > > inl new_sha256 () : sha256' =
00:04:14 verbose #9207 > > !\($'"sha2::Digest::new()"')
00:04:14 verbose #9208 > 00:04:13 debug #420 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8c18e715d8369dd60ee774d565b5fa64380ecdc14ed3285098a108e9f27232f7/main.spi
00:04:14 verbose #9209 > >
00:04:14 verbose #9210 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:14 verbose #9211 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:14 verbose #9212 > > │ ## hasher_update │
00:04:14 verbose #9213 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:14 verbose #9214 > >
00:04:14 verbose #9215 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:14 verbose #9216 > > inl hasher_update forall el dim. (slice : rust.ref' (am'.slice' el dim)) (hasher
00:04:14 verbose #9217 > > : sha256') : () =
00:04:14 verbose #9218 > > !\($'"sha2::Digest::update(&mut !hasher, !slice)"')
00:04:14 verbose #9219 > 00:04:13 debug #421 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fbfa1e45b4ed0464fdb81688fbc9a1d832dedc063a1ac4443538e649a3d42ca6/main.spi
00:04:14 verbose #9220 > >
00:04:14 verbose #9221 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:14 verbose #9222 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:14 verbose #9223 > > │ ## hasher_finalize │
00:04:14 verbose #9224 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:14 verbose #9225 > >
00:04:14 verbose #9226 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:14 verbose #9227 > > inl hasher_finalize (hasher : sha256') : rust.ref' (am'.slice u8) =
00:04:14 verbose #9228 > > !\($'"&sha2::Digest::finalize(!hasher)"')
00:04:14 verbose #9229 > 00:04:14 debug #422 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7fca84155f4348fe45b2b5ec647950aa7ad54888b28896a9a163f6279b2cc7e6/main.spi
00:04:14 verbose #9230 > >
00:04:14 verbose #9231 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:14 verbose #9232 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:14 verbose #9233 > > │ ## get_file_hash │
00:04:14 verbose #9234 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:14 verbose #9235 > >
00:04:14 verbose #9236 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:14 verbose #9237 > > inl get_file_hash (path : string) : result string string =
00:04:14 verbose #9238 > > inl path = path |> file_system.normalize_path
00:04:14 verbose #9239 > > inl file = path |> file_system.file_open |> resultm.unwrap'
00:04:14 verbose #9240 > > inl reader = file |> stream.new_buf_reader
00:04:14 verbose #9241 > > (!\($'"true; let mut !reader = !reader"') : bool) |> ignore
00:04:14 verbose #9242 > > inl hasher = new_sha256 ()
00:04:14 verbose #9243 > > (!\($'"true; let mut !hasher = !hasher"') : bool) |> ignore
00:04:14 verbose #9244 > >
00:04:14 verbose #9245 > > real
00:04:14 verbose #9246 > > inl size = 1024
00:04:14 verbose #9247 > > inl zero = unativeint `i32 0
00:04:14 verbose #9248 > > inl buffer = am'.new_slice `u8 `@size 0u8
00:04:14 verbose #9249 > >
00:04:14 verbose #9250 > > rust.loop 2 fun () =>
00:04:14 verbose #9251 > > inl count = stream.buf_reader_read `u8 `@size buffer reader
00:04:14 verbose #9252 > > inl count = resultm.unwrap' `unativeint `(stream.io_error) count
00:04:14 verbose #9253 > >
00:04:14 verbose #9254 > > if (=.) `unativeint count zero then rust.break ()
00:04:14 verbose #9255 > >
00:04:14 verbose #9256 > > hasher_update `u8 `@size
00:04:14 verbose #9257 > > (
00:04:14 verbose #9258 > > am'.slice_range `u8 `@size
00:04:14 verbose #9259 > > (am'.Start `unativeint zero)
00:04:14 verbose #9260 > > (am'.End `unativeint ((fun _ => count) : unativeint ->
00:04:14 verbose #9261 > > unativeint))
00:04:14 verbose #9262 > > buffer
00:04:14 verbose #9263 > > )
00:04:14 verbose #9264 > > hasher
00:04:14 verbose #9265 > >
00:04:14 verbose #9266 > > hasher
00:04:14 verbose #9267 > > |> hasher_finalize
00:04:14 verbose #9268 > > |> am'.slice_to_vec
00:04:14 verbose #9269 > > |> am'.vec_map' (sm'.format_custom' "{:02x}" >> sm'.from_std_string)
00:04:14 verbose #9270 > > |> am'.from_vec
00:04:14 verbose #9271 > > |> fun x => x : _ i32 _
00:04:14 verbose #9272 > > |> seq.of_array'
00:04:14 verbose #9273 > > |> sm'.concat ""
00:04:14 verbose #9274 > > |> Ok
00:04:14 verbose #9275 > 00:04:14 debug #423 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1c82a5cfb179d8d5c1ac7428a5e8e910208f8f9b2d861e65003f9ebea639ab2c/main.spi
00:04:14 verbose #9276 > >
00:04:14 verbose #9277 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:14 verbose #9278 > > //// test
00:04:14 verbose #9279 > > ///! rust -d chrono regex sha2
00:04:14 verbose #9280 > >
00:04:14 verbose #9281 > > types ()
00:04:14 verbose #9282 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:04:14 verbose #9283 > >
00:04:14 verbose #9284 > > inl file_name = join "test.txt"
00:04:14 verbose #9285 > > inl path = temp_folder </> file_name
00:04:14 verbose #9286 > > "" |> file_system.write_all_text path
00:04:14 verbose #9287 > > path
00:04:14 verbose #9288 > > |> get_file_hash
00:04:14 verbose #9289 > > |> resultm.get
00:04:14 verbose #9290 > > |> _assert_eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
00:04:14 verbose #9291 > > disposable |> use |> ignore
00:04:14 verbose #9292 > 00:04:14 debug #424 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b6a4479d30f2baf1fc01f66c076f90e3ad42ec786ac75552ebccb09707e0b7f9/main.spi
00:04:28 verbose #9293 > >
00:04:28 verbose #9294 > > ╭─[ 14.10s - return value ]────────────────────────────────────────────────────╮
00:04:28 verbose #9295 > > │ 00:00:00 verbose #1 file_system.create_directory / dir: │
00:04:28 verbose #9296 > > │ /tmp/!spiral_builder_a53e36cefef6ffc425cc9c5002b6bd28bb1d4cba45c980812719a4e │
00:04:28 verbose #9297 > > │ 641fd4099/20240520-1344-5289-1166-000000c458a8 │
00:04:28 verbose #9298 > > │ assert_eq / actual: │
00:04:28 verbose #9299 > > │ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" / │
00:04:28 verbose #9300 > > │ expected: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" │
00:04:28 verbose #9301 > > │ │
00:04:28 verbose #9302 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:28 verbose #9303 > >
00:04:28 verbose #9304 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:28 verbose #9305 > > //// test
00:04:28 verbose #9306 > > ///! rust -d chrono regex sha2
00:04:28 verbose #9307 > >
00:04:28 verbose #9308 > > types ()
00:04:28 verbose #9309 > > inl temp_folder, disposable = file_system.create_temp_directory ()
00:04:28 verbose #9310 > >
00:04:28 verbose #9311 > > inl file_name = join "test.txt"
00:04:28 verbose #9312 > > inl path = temp_folder </> file_name
00:04:28 verbose #9313 > > " " |> file_system.write_all_text path
00:04:28 verbose #9314 > > path
00:04:28 verbose #9315 > > |> get_file_hash
00:04:28 verbose #9316 > > |> resultm.get
00:04:28 verbose #9317 > > |> _assert_eq "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
00:04:28 verbose #9318 > > disposable |> use |> ignore
00:04:28 verbose #9319 > 00:04:28 debug #425 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/63002ebd4a40ec27c5759806d3e410f479598fc141725b6526667cf02dbb00d5/main.spi
00:04:40 verbose #9320 > >
00:04:40 verbose #9321 > > ╭─[ 11.84s - return value ]────────────────────────────────────────────────────╮
00:04:40 verbose #9322 > > │ 00:00:00 verbose #1 file_system.create_directory / dir: │
00:04:40 verbose #9323 > > │ /tmp/!spiral_builder_612846efde26c4675dbc301fd5a7f58646e9c176fa1bde86f6cdcc4 │
00:04:40 verbose #9324 > > │ 19184a2b6/20240520-1345-0473-6458-0000008bdbc5 │
00:04:40 verbose #9325 > > │ assert_eq / actual: │
00:04:40 verbose #9326 > > │ "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068" / │
00:04:40 verbose #9327 > > │ expected: "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068" │
00:04:40 verbose #9328 > > │ │
00:04:40 verbose #9329 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:40 verbose #9330 > >
00:04:40 verbose #9331 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:40 verbose #9332 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:40 verbose #9333 > > │ ## main │
00:04:40 verbose #9334 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:40 verbose #9335 > >
00:04:40 verbose #9336 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:40 verbose #9337 > > inl main () =
00:04:40 verbose #9338 > > types ()
00:04:40 verbose #9339 > > $"let hash_text x = !hash_text x" : ()
00:04:40 verbose #9340 > 00:04:40 debug #426 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/862d628e763216ef0cb036e52f7315c48896f8c1b3625787ff7b7f28672a627f/main.spi
00:04:40 verbose #9341 > 00:00:51 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 21099
00:04:40 verbose #9342 > 00:00:51 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:04:41 verbose #9343 > 00:00:52 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb to html
00:04:41 verbose #9344 > 00:00:52 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:04:41 verbose #9345 > 00:00:52 verbose #7 ! validate(nb)
00:04:41 verbose #9346 > 00:00:52 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:04:41 verbose #9347 > 00:00:52 verbose #9 ! return _pygments_highlight(
00:04:42 verbose #9348 > 00:00:52 verbose #10 ! [NbConvertApp] Writing 319253 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.html
00:04:42 verbose #9349 > 00:00:52 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 896
00:04:42 verbose #9350 > 00:00:52 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 896
00:04:42 verbose #9351 > 00:00:52 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:04:42 verbose #9352 > 00:00:53 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:04:42 verbose #9353 > 00:00:53 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:04:42 verbose #9354 > 00:00:53 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 22054
00:04:42 debug #9355 execute_with_options_async / exit_code: 0 / output.Length: 25203
00:04:42 debug #11 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path crypto.dib --retries 3
00:04:42 debug #9356 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path common.dib --retries 3",
[||], None, None, true, None)
00:04:42 verbose #9357 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "common.dib", "--retries", "3"])
00:04:42 verbose #9358 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:04:43 verbose #9359 > >
00:04:43 verbose #9360 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:43 verbose #9361 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:43 verbose #9362 > > │ # common │
00:04:43 verbose #9363 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:43 verbose #9364 > >
00:04:43 verbose #9365 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:43 verbose #9366 > > //// test
00:04:43 verbose #9367 > >
00:04:43 verbose #9368 > > open testing
00:04:43 verbose #9369 > >
00:04:43 verbose #9370 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:04:43 verbose #9371 > > #r
00:04:43 verbose #9372 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:04:43 verbose #9373 > > Net.Interactive.Spiral.dll"
00:04:43 verbose #9374 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:04:43 verbose #9375 > > #r
00:04:43 verbose #9376 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:04:43 verbose #9377 > > Net.Interactive.dll"
00:04:43 verbose #9378 > > open type Microsoft.DotNet.Interactive.Kernel
00:04:46 verbose #9379 > >
00:04:46 verbose #9380 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:46 verbose #9381 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:46 verbose #9382 > > │ ## types │
00:04:46 verbose #9383 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:46 verbose #9384 > >
00:04:46 verbose #9385 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:46 verbose #9386 > > inl types () =
00:04:46 verbose #9387 > > env.types ()
00:04:46 verbose #9388 > > rust.types ()
00:04:46 verbose #9389 > > sm'.types ()
00:04:46 verbose #9390 > 00:04:46 debug #427 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7ef1a71f4bfa14a6bf6aa72de021ca32b7ebcd4bc2f27271da9cbddc278194d5/main.spi
00:04:46 verbose #9391 > >
00:04:46 verbose #9392 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:46 verbose #9393 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:46 verbose #9394 > > │ ## prototype │
00:04:46 verbose #9395 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:46 verbose #9396 > >
00:04:46 verbose #9397 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:46 verbose #9398 > > prototype (~:>) r : forall t. t -> r
00:04:46 verbose #9399 > 00:04:46 debug #428 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/02cbde5d300309dc2e796067c75933b903520ec07f2a5f43183ffe895a36b3a3/main.spi
00:04:46 verbose #9400 > >
00:04:46 verbose #9401 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:46 verbose #9402 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:46 verbose #9403 > > │ ## run_target │
00:04:46 verbose #9404 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:46 verbose #9405 > >
00:04:46 verbose #9406 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:46 verbose #9407 > > //// test
00:04:46 verbose #9408 > >
00:04:46 verbose #9409 > > run_target function
00:04:46 verbose #9410 > > | Fsharp (Native) => fun () => $'1uy'
00:04:46 verbose #9411 > > | _ => fun () => $'2uy'
00:04:46 verbose #9412 > > |> _assert_eq 1u8
00:04:46 verbose #9413 > 00:04:46 debug #429 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9430aee2d2b5598717e8600b86fefd56ecad7e8800a5413548795c8929892aa9/main.spi
00:04:47 verbose #9414 > >
00:04:47 verbose #9415 > > ╭─[ 583.41ms - stdout ]────────────────────────────────────────────────────────╮
00:04:47 verbose #9416 > > │ assert_eq / actual: 1uy / expected: 1uy │
00:04:47 verbose #9417 > > │ │
00:04:47 verbose #9418 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:47 verbose #9419 > >
00:04:47 verbose #9420 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:47 verbose #9421 > > //// test
00:04:47 verbose #9422 > > ///! rust
00:04:47 verbose #9423 > >
00:04:47 verbose #9424 > > run_target function
00:04:47 verbose #9425 > > | Rust (Native) => fun () => $'1uy'
00:04:47 verbose #9426 > > | _ => fun () => $'2uy'
00:04:47 verbose #9427 > > |> _assert_eq 1u8
00:04:47 verbose #9428 > 00:04:47 debug #430 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/05032fa3a5a196d986035e8858c32fc106ddea8b792e1ebba5d59589cbe5d98a/main.spi
00:04:57 verbose #9429 > >
00:04:57 verbose #9430 > > ╭─[ 10.07s - return value ]────────────────────────────────────────────────────╮
00:04:57 verbose #9431 > > │ assert_eq / actual: 1 / expected: 1 │
00:04:57 verbose #9432 > > │ │
00:04:57 verbose #9433 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:57 verbose #9434 > >
00:04:57 verbose #9435 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:57 verbose #9436 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:57 verbose #9437 > > │ ## upcast │
00:04:57 verbose #9438 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:57 verbose #9439 > >
00:04:57 verbose #9440 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:57 verbose #9441 > > inl upcast forall t u. (x : t) : u =
00:04:57 verbose #9442 > > $'!x :> `u '
00:04:57 verbose #9443 > 00:04:57 debug #431 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f4123ac820cd0492378c4b36638ea337027d9c1e7e6c30118795efc698f18db6/main.spi
00:04:57 verbose #9444 > >
00:04:57 verbose #9445 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:57 verbose #9446 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:57 verbose #9447 > > │ ## downcast │
00:04:57 verbose #9448 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:57 verbose #9449 > >
00:04:57 verbose #9450 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:57 verbose #9451 > > inl downcast forall t u. (x : t) : u =
00:04:57 verbose #9452 > > $'!x :?> `u '
00:04:57 verbose #9453 > 00:04:57 debug #432 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ed790a34f634dd66bce15c2f4901bbd4c353153646aff18b4965adb8c57ca105/main.spi
00:04:57 verbose #9454 > >
00:04:57 verbose #9455 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:57 verbose #9456 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:57 verbose #9457 > > │ ## to_any │
00:04:57 verbose #9458 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:57 verbose #9459 > >
00:04:57 verbose #9460 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:57 verbose #9461 > > inl to_any forall t. (obj : t) : any =
00:04:57 verbose #9462 > > $"!obj"
00:04:57 verbose #9463 > >
00:04:57 verbose #9464 > > instance (~:>) any = to_any
00:04:57 verbose #9465 > 00:04:57 debug #433 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/13cec8396784676580c729638ddcda81ff5fffdac4b62302f19ff27cd1b5baf4/main.spi
00:04:57 verbose #9466 > >
00:04:57 verbose #9467 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:57 verbose #9468 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:57 verbose #9469 > > │ ## (||>) │
00:04:57 verbose #9470 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:57 verbose #9471 > >
00:04:57 verbose #9472 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:57 verbose #9473 > > //// test
00:04:57 verbose #9474 > >
00:04:57 verbose #9475 > > (3i32, 2i32)
00:04:57 verbose #9476 > > ||> fun a b => a - b
00:04:57 verbose #9477 > > |> _assert_eq 1
00:04:57 verbose #9478 > 00:04:57 debug #434 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1aa7e6e55f803f60cd6f30c4524ab3f216586e8b9bf96e8841c4d637e04b214b/main.spi
00:04:57 verbose #9479 > >
00:04:57 verbose #9480 > > ╭─[ 76.84ms - stdout ]─────────────────────────────────────────────────────────╮
00:04:57 verbose #9481 > > │ assert_eq / actual: 1 / expected: 1 │
00:04:57 verbose #9482 > > │ │
00:04:57 verbose #9483 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:57 verbose #9484 > >
00:04:57 verbose #9485 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:57 verbose #9486 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:57 verbose #9487 > > │ ## flip │
00:04:57 verbose #9488 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:57 verbose #9489 > >
00:04:57 verbose #9490 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:57 verbose #9491 > > inl flip fn a b =
00:04:57 verbose #9492 > > fn b a
00:04:57 verbose #9493 > 00:04:57 debug #435 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9366067f97b7b9102108cea3a998bf37cb1ee9021bcbb87951f6b7aa8d4b4b2a/main.spi
00:04:57 verbose #9494 > >
00:04:57 verbose #9495 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:57 verbose #9496 > > //// test
00:04:57 verbose #9497 > >
00:04:57 verbose #9498 > > (1i32, 2i32)
00:04:57 verbose #9499 > > ||> flip pair
00:04:57 verbose #9500 > > |> _assert_eq (2, 1)
00:04:57 verbose #9501 > 00:04:57 debug #436 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3c77666507111c24624df25d9fcf5997e2246c0d107bb0bdfd2736810007cc62/main.spi
00:04:58 verbose #9502 > >
00:04:58 verbose #9503 > > ╭─[ 82.34ms - stdout ]─────────────────────────────────────────────────────────╮
00:04:58 verbose #9504 > > │ assert_eq / actual: struct (2, 1) / expected: struct (2, 1) │
00:04:58 verbose #9505 > > │ │
00:04:58 verbose #9506 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:58 verbose #9507 > >
00:04:58 verbose #9508 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:58 verbose #9509 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:58 verbose #9510 > > │ ## join_body │
00:04:58 verbose #9511 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:58 verbose #9512 > >
00:04:58 verbose #9513 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:58 verbose #9514 > > inl join_body body acc x =
00:04:58 verbose #9515 > > if var_is x |> not
00:04:58 verbose #9516 > > then body acc x
00:04:58 verbose #9517 > > else
00:04:58 verbose #9518 > > inl acc = dyn acc
00:04:58 verbose #9519 > > join body acc x
00:04:58 verbose #9520 > 00:04:57 debug #437 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/103578ef7511c53ea7b8f59d69aa5730eaffdce9209ea550dd7f5bbd07427880/main.spi
00:04:58 verbose #9521 > >
00:04:58 verbose #9522 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:58 verbose #9523 > > //// test
00:04:58 verbose #9524 > >
00:04:58 verbose #9525 > > inl rec fold_list f s = function
00:04:58 verbose #9526 > > | Cons (x, x') => fold_list f (f s x) x'
00:04:58 verbose #9527 > > | Nil => s
00:04:58 verbose #9528 > 00:04:57 debug #438 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/03322cd7f3e2c1bf58fcc1b6e5147f9509e97345318c30550925a439d4021b88/main.spi
00:04:58 verbose #9529 > >
00:04:58 verbose #9530 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:58 verbose #9531 > > //// test
00:04:58 verbose #9532 > >
00:04:58 verbose #9533 > > [[ 5i32; 4; join 3; 2; 1 ]]
00:04:58 verbose #9534 > > |> fold_list (+) 0
00:04:58 verbose #9535 > > |> _assert_eq 15
00:04:58 verbose #9536 > 00:04:57 debug #439 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f322969767ad17609784c1e5c9594b4db48cc4a388925bc5add2c041bc53eb87/main.spi
00:04:58 verbose #9537 > >
00:04:58 verbose #9538 > > ╭─[ 132.89ms - stdout ]────────────────────────────────────────────────────────╮
00:04:58 verbose #9539 > > │ assert_eq / actual: 15 / expected: 15 │
00:04:58 verbose #9540 > > │ │
00:04:58 verbose #9541 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:58 verbose #9542 > >
00:04:58 verbose #9543 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:58 verbose #9544 > > //// test
00:04:58 verbose #9545 > >
00:04:58 verbose #9546 > > [[ 5i32; 4; join 3; 2; 1 ]]
00:04:58 verbose #9547 > > |> fold_list (join_body (+)) 0
00:04:58 verbose #9548 > > |> _assert_eq 15
00:04:58 verbose #9549 > 00:04:57 debug #440 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/944b6c85bbcbd44602cf433df474ecb801ead4a88732c1a0fd6887df13d219e4/main.spi
00:04:58 verbose #9550 > >
00:04:58 verbose #9551 > > ╭─[ 503.10ms - stdout ]────────────────────────────────────────────────────────╮
00:04:58 verbose #9552 > > │ assert_eq / actual: 15 / expected: 15 │
00:04:58 verbose #9553 > > │ │
00:04:58 verbose #9554 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:58 verbose #9555 > >
00:04:58 verbose #9556 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:58 verbose #9557 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:58 verbose #9558 > > │ ## join_body_unit │
00:04:58 verbose #9559 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:58 verbose #9560 > >
00:04:58 verbose #9561 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:58 verbose #9562 > > inl join_body_unit body d x =
00:04:58 verbose #9563 > > if var_is d |> not
00:04:58 verbose #9564 > > then body x
00:04:58 verbose #9565 > > else
00:04:58 verbose #9566 > > inl x = dyn x
00:04:58 verbose #9567 > > join body x
00:04:58 verbose #9568 > 00:04:58 debug #441 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a34eb7238685537a877749a537d5592ea8f11db42935bd1aef28da0e76419286/main.spi
00:04:58 verbose #9569 > >
00:04:58 verbose #9570 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:58 verbose #9571 > > //// test
00:04:58 verbose #9572 > >
00:04:58 verbose #9573 > > [[ 5i32; 4; join 3; 2; 1 ]]
00:04:58 verbose #9574 > > |> fold_list (fun acc n => join_body_unit ((+) acc) n n) 0
00:04:58 verbose #9575 > > |> _assert_eq 15
00:04:58 verbose #9576 > 00:04:58 debug #442 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d033fc796656b9420ce19c0881fa3f810a7bd629b1a40dd1b16d01b804728079/main.spi
00:04:58 verbose #9577 > >
00:04:58 verbose #9578 > > ╭─[ 74.82ms - stdout ]─────────────────────────────────────────────────────────╮
00:04:58 verbose #9579 > > │ assert_eq / actual: 15 / expected: 15 │
00:04:58 verbose #9580 > > │ │
00:04:58 verbose #9581 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:58 verbose #9582 > >
00:04:58 verbose #9583 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:58 verbose #9584 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:58 verbose #9585 > > │ ## nameof │
00:04:58 verbose #9586 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:58 verbose #9587 > >
00:04:58 verbose #9588 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:58 verbose #9589 > > inl nameof x : string =
00:04:58 verbose #9590 > > $"nameof !x"
00:04:59 verbose #9591 > 00:04:58 debug #443 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/721982af5cbb766f100c37613d498e977a7c59576e149fb32374af2995bdd2e2/main.spi
00:04:59 verbose #9592 > >
00:04:59 verbose #9593 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:59 verbose #9594 > > //// test
00:04:59 verbose #9595 > >
00:04:59 verbose #9596 > > fun () => failwith "test"
00:04:59 verbose #9597 > > |> _throws
00:04:59 verbose #9598 > > |> optionm.map sm'.format_exception
00:04:59 verbose #9599 > > |> _assert_eq (Some "System.Exception: test")
00:04:59 verbose #9600 > 00:04:58 debug #444 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a7af4124e102c8180dfd2e350ecf5c18503cf2213c979891144c9cd2cf3428e8/main.spi
00:04:59 verbose #9601 > >
00:04:59 verbose #9602 > > ╭─[ 490.79ms - stdout ]────────────────────────────────────────────────────────╮
00:04:59 verbose #9603 > > │ assert_eq / actual: US1_0 "System.Exception: test" / expected: US1_0 │
00:04:59 verbose #9604 > > │ "System.Exception: test" │
00:04:59 verbose #9605 > > │ │
00:04:59 verbose #9606 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:59 verbose #9607 > >
00:04:59 verbose #9608 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:59 verbose #9609 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:59 verbose #9610 > > │ ## disposable │
00:04:59 verbose #9611 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:59 verbose #9612 > >
00:04:59 verbose #9613 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:59 verbose #9614 > > nominal disposable t = $"System.IDisposable"
00:04:59 verbose #9615 > 00:04:59 debug #445 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6337f78d496af87d15ac50bf8daa3d96ecaca38761cea07bbde9d87cd01cca78/main.spi
00:04:59 verbose #9616 > >
00:04:59 verbose #9617 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:59 verbose #9618 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:59 verbose #9619 > > │ ## dispose │
00:04:59 verbose #9620 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:59 verbose #9621 > >
00:04:59 verbose #9622 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:59 verbose #9623 > > inl dispose (disposable : disposable _) : () =
00:04:59 verbose #9624 > > disposable |> $'_.Dispose()'
00:04:59 verbose #9625 > 00:04:59 debug #446 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f228d8c38c5657cee363440c21f7c8fc91ca9cc726fdc9b82b8bfbc5dfc0c9dc/main.spi
00:04:59 verbose #9626 > >
00:04:59 verbose #9627 > > ── markdown ────────────────────────────────────────────────────────────────────
00:04:59 verbose #9628 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:04:59 verbose #9629 > > │ ## new_disposable │
00:04:59 verbose #9630 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:59 verbose #9631 > >
00:04:59 verbose #9632 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:59 verbose #9633 > > inl new_disposable (fn : () -> ()) : disposable _ =
00:04:59 verbose #9634 > > run_target function
00:04:59 verbose #9635 > > | Rust _ => fun () =>
00:04:59 verbose #9636 > > global "type Disposable (f : unit -> unit) = interface
00:04:59 verbose #9637 > > System.IDisposable with member _.Dispose () = f ()"
00:04:59 verbose #9638 > > $'new Disposable (fun () -> Fable.Core.RustInterop.emitRustExpr !fn
00:04:59 verbose #9639 > > "$0()" )'
00:04:59 verbose #9640 > > | Fsharp _ => fun () =>
00:04:59 verbose #9641 > > inl fn = join fn
00:04:59 verbose #9642 > > $'{ new System.IDisposable with member _.Dispose () = !fn () }'
00:04:59 verbose #9643 > > | _ => fun () => null ()
00:04:59 verbose #9644 > 00:04:59 debug #447 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/56b82175a11cfbd995a10a11a094e3b8c902755afdd043814972c04a4390276a/main.spi
00:04:59 verbose #9645 > >
00:04:59 verbose #9646 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:59 verbose #9647 > > //// test
00:04:59 verbose #9648 > >
00:04:59 verbose #9649 > > inl new_disposable_test = mut 0i32
00:04:59 verbose #9650 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1
00:04:59 verbose #9651 > > |> fun x => x : disposable ()
00:04:59 verbose #9652 > > |> dispose
00:04:59 verbose #9653 > > *new_disposable_test |> _assert_eq 1
00:04:59 verbose #9654 > 00:04:59 debug #448 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/86723ae695c2a96300be765f10e6e43bf99d1a1567916fc3cd04dd1a58034a8d/main.spi
00:04:59 verbose #9655 > >
00:04:59 verbose #9656 > > ╭─[ 213.97ms - stdout ]────────────────────────────────────────────────────────╮
00:04:59 verbose #9657 > > │ assert_eq / actual: 1 / expected: 1 │
00:04:59 verbose #9658 > > │ │
00:04:59 verbose #9659 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:04:59 verbose #9660 > >
00:04:59 verbose #9661 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:04:59 verbose #9662 > > //// test
00:04:59 verbose #9663 > > ///! rust
00:04:59 verbose #9664 > >
00:04:59 verbose #9665 > > inl new_disposable_test = mut 0i32
00:04:59 verbose #9666 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1
00:04:59 verbose #9667 > > |> fun x => x : disposable ()
00:04:59 verbose #9668 > > |> dispose
00:04:59 verbose #9669 > > *new_disposable_test |> _assert_eq 1
00:04:59 verbose #9670 > 00:04:59 debug #449 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d1880c71fd9c37bd6ae8ab8e0ebf4fb498f569e8d8c3b99cd67ca6537d75c23a/main.spi
00:05:10 verbose #9671 > >
00:05:10 verbose #9672 > > ╭─[ 10.55s - return value ]────────────────────────────────────────────────────╮
00:05:10 verbose #9673 > > │ assert_eq / actual: 1 / expected: 1 │
00:05:10 verbose #9674 > > │ │
00:05:10 verbose #9675 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:10 verbose #9676 > >
00:05:10 verbose #9677 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:10 verbose #9678 > > //// test
00:05:10 verbose #9679 > >
00:05:10 verbose #9680 > > inl new_disposable_test = mut 0i32
00:05:10 verbose #9681 > > fun () =>
00:05:10 verbose #9682 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1
00:05:10 verbose #9683 > > |> fun x => x : disposable ()
00:05:10 verbose #9684 > > |> use
00:05:10 verbose #9685 > > |> ignore
00:05:10 verbose #9686 > > |> return
00:05:10 verbose #9687 > > |> async.new_task
00:05:10 verbose #9688 > > |> async.await_task
00:05:10 verbose #9689 > > |> async.run_synchronously
00:05:10 verbose #9690 > > *new_disposable_test |> _assert_eq 1
00:05:10 verbose #9691 > 00:05:10 debug #450 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bd88ea3da6dda486679b01e1950f4d28263c2efbcdee45d2c9deb9e97da5e2e9/main.spi
00:05:10 verbose #9692 > >
00:05:10 verbose #9693 > > ╭─[ 191.67ms - stdout ]────────────────────────────────────────────────────────╮
00:05:10 verbose #9694 > > │ assert_eq / actual: 1 / expected: 1 │
00:05:10 verbose #9695 > > │ │
00:05:10 verbose #9696 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:10 verbose #9697 > >
00:05:10 verbose #9698 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:10 verbose #9699 > > //// test
00:05:10 verbose #9700 > >
00:05:10 verbose #9701 > > inl new_disposable_test = mut 0i32
00:05:10 verbose #9702 > > fun () =>
00:05:10 verbose #9703 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1
00:05:10 verbose #9704 > > |> fun x => x : disposable ()
00:05:10 verbose #9705 > > |> use
00:05:10 verbose #9706 > > |> ignore
00:05:10 verbose #9707 > > |> return
00:05:10 verbose #9708 > > |> async.new_async
00:05:10 verbose #9709 > > |> async.run_synchronously
00:05:10 verbose #9710 > > *new_disposable_test |> _assert_eq 1
00:05:10 verbose #9711 > 00:05:10 debug #451 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/462b6028a6cbe238d526250f3b7fa22b2eef30853b45e6c87aedf8169fe94530/main.spi
00:05:10 verbose #9712 > >
00:05:10 verbose #9713 > > ╭─[ 106.77ms - stdout ]────────────────────────────────────────────────────────╮
00:05:10 verbose #9714 > > │ assert_eq / actual: 1 / expected: 1 │
00:05:10 verbose #9715 > > │ │
00:05:10 verbose #9716 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:10 verbose #9717 > >
00:05:10 verbose #9718 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:10 verbose #9719 > > //// test
00:05:10 verbose #9720 > >
00:05:10 verbose #9721 > > inl new_disposable_test = mut 0i32
00:05:10 verbose #9722 > > fun () =>
00:05:10 verbose #9723 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1
00:05:10 verbose #9724 > > |> fun x => x : disposable ()
00:05:10 verbose #9725 > > |> ignore
00:05:10 verbose #9726 > > |> return
00:05:10 verbose #9727 > > |> async.new_async
00:05:10 verbose #9728 > > |> async.run_synchronously
00:05:10 verbose #9729 > > *new_disposable_test |> _assert_eq 0
00:05:10 verbose #9730 > 00:05:10 debug #452 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/547c51749f2765728bc141b0df666b149458d8cecd1f4416a67d33f6530f155a/main.spi
00:05:10 verbose #9731 > >
00:05:10 verbose #9732 > > ╭─[ 99.69ms - stdout ]─────────────────────────────────────────────────────────╮
00:05:10 verbose #9733 > > │ assert_eq / actual: 0 / expected: 0 │
00:05:10 verbose #9734 > > │ │
00:05:10 verbose #9735 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:10 verbose #9736 > >
00:05:10 verbose #9737 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:10 verbose #9738 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:10 verbose #9739 > > │ ## return │
00:05:10 verbose #9740 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:10 verbose #9741 > >
00:05:10 verbose #9742 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:10 verbose #9743 > > inl return forall t. (x : t) : () =
00:05:10 verbose #9744 > > $'return !x '
00:05:10 verbose #9745 > >
00:05:10 verbose #9746 > > inl return' forall t. (x : t) : t =
00:05:10 verbose #9747 > > $'return !x '
00:05:10 verbose #9748 > 00:05:10 debug #453 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/030f480a50bbb37bab4409d0d74c488fa76357ac9adee057ad3eb4809a44627b/main.spi
00:05:10 verbose #9749 > >
00:05:10 verbose #9750 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:10 verbose #9751 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:10 verbose #9752 > > │ ## sleep │
00:05:10 verbose #9753 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:10 verbose #9754 > >
00:05:10 verbose #9755 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:10 verbose #9756 > > inl sleep (n : i32) : () =
00:05:10 verbose #9757 > > run_target function
00:05:10 verbose #9758 > > | Fsharp (Native) => fun () => $'System.Threading.Thread.Sleep' n
00:05:10 verbose #9759 > > | _ => fun () => ()
00:05:10 verbose #9760 > 00:05:10 debug #454 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/85d27207f34aa0432375e8e8fc7603e1043f572d88df7dfa0a32c7452fabc09c/main.spi
00:05:11 verbose #9761 > >
00:05:11 verbose #9762 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:11 verbose #9763 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:11 verbose #9764 > > │ ## retry_fn │
00:05:11 verbose #9765 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:11 verbose #9766 > >
00:05:11 verbose #9767 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:11 verbose #9768 > > inl retry_fn forall t. retries (fn : () -> t) : option t =
00:05:11 verbose #9769 > > let rec loop retry =
00:05:11 verbose #9770 > > try
00:05:11 verbose #9771 > > fun () =>
00:05:11 verbose #9772 > > if retry < retries
00:05:11 verbose #9773 > > then fn () |> Some
00:05:11 verbose #9774 > > else None
00:05:11 verbose #9775 > > fun ex =>
00:05:11 verbose #9776 > > trace Warning
00:05:11 verbose #9777 > > fun () => "retry_fn"
00:05:11 verbose #9778 > > fun () => $'$"retry: {!retry} / ex: %A{!ex} / {!_locals
00:05:11 verbose #9779 > > ()}"'
00:05:11 verbose #9780 > > sleep 1
00:05:11 verbose #9781 > > None
00:05:11 verbose #9782 > > |> function
00:05:11 verbose #9783 > > | Some x => x
00:05:11 verbose #9784 > > | None => loop (retry + 1)
00:05:11 verbose #9785 > > loop 0
00:05:11 verbose #9786 > 00:05:10 debug #455 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bc476c2540c7710b1944db6c1c29ae2d4fcb3e390ca21e479d41a25073a6b699/main.spi
00:05:11 verbose #9787 > >
00:05:11 verbose #9788 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:11 verbose #9789 > > //// test
00:05:11 verbose #9790 > >
00:05:11 verbose #9791 > > inl retry_fn_test = mut 0i32
00:05:11 verbose #9792 > > fun () =>
00:05:11 verbose #9793 > > retry_fn_test <- *retry_fn_test + 1
00:05:11 verbose #9794 > > *retry_fn_test
00:05:11 verbose #9795 > > |> retry_fn 3i32
00:05:11 verbose #9796 > > |> _assert_eq (Some 1i32)
00:05:11 verbose #9797 > 00:05:10 debug #456 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c4602d51ee160862955129bfb85add88432537f3ad5d3e1aff0da2866293c34a/main.spi
00:05:11 verbose #9798 > >
00:05:11 verbose #9799 > > ╭─[ 338.70ms - stdout ]────────────────────────────────────────────────────────╮
00:05:11 verbose #9800 > > │ assert_eq / actual: US0_0 1 / expected: US0_0 1 │
00:05:11 verbose #9801 > > │ │
00:05:11 verbose #9802 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:11 verbose #9803 > >
00:05:11 verbose #9804 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:11 verbose #9805 > > //// test
00:05:11 verbose #9806 > > ///! rust
00:05:11 verbose #9807 > >
00:05:11 verbose #9808 > > types ()
00:05:11 verbose #9809 > > inl retry_fn_test = mut 0i32
00:05:11 verbose #9810 > > fun () =>
00:05:11 verbose #9811 > > retry_fn_test <- *retry_fn_test + 1
00:05:11 verbose #9812 > > *retry_fn_test
00:05:11 verbose #9813 > > |> retry_fn 3i32
00:05:11 verbose #9814 > > |> _assert_eq' (Some 1i32)
00:05:11 verbose #9815 > 00:05:11 debug #457 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/57d3f2849f9eeea2c501fe6f9d6c3088d0945474aa9478d5b96b839d1abb792c/main.spi
00:05:22 verbose #9816 > >
00:05:22 verbose #9817 > > ╭─[ 11.31s - return value ]────────────────────────────────────────────────────╮
00:05:22 verbose #9818 > > │ assert_eq' / actual: US0_0(1) / expected: US0_0(1) │
00:05:22 verbose #9819 > > │ │
00:05:22 verbose #9820 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:22 verbose #9821 > >
00:05:22 verbose #9822 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:22 verbose #9823 > > //// test
00:05:22 verbose #9824 > >
00:05:22 verbose #9825 > > inl retry_fn_test = mut 0i32
00:05:22 verbose #9826 > > fun () =>
00:05:22 verbose #9827 > > if *retry_fn_test >= 2
00:05:22 verbose #9828 > > then *retry_fn_test
00:05:22 verbose #9829 > > else
00:05:22 verbose #9830 > > retry_fn_test <- *retry_fn_test + 1
00:05:22 verbose #9831 > > failwith "test"
00:05:22 verbose #9832 > > |> retry_fn 3i32
00:05:22 verbose #9833 > > |> _assert_eq (Some 2i32)
00:05:22 verbose #9834 > 00:05:22 debug #458 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/26daf963e024bca8398ec18495ddc5a2baec980f143e59a19860212a5273845c/main.spi
00:05:22 verbose #9835 > >
00:05:22 verbose #9836 > > ╭─[ 191.59ms - stdout ]────────────────────────────────────────────────────────╮
00:05:22 verbose #9837 > > │ 00:00:00 warning #1 retry_fn / retry: 0 / ex: System.Exception: test │
00:05:22 verbose #9838 > > │ at FSI_0035.closure0(Mut0 v0, Int32 v1, Unit unitVar2) │
00:05:22 verbose #9839 > > │ at FSI_0035.method1(Mut0 v0, Int32 v1) │
00:05:22 verbose #9840 > > │ 00:00:00 warning #2 retry_fn / retry: 1 / ex: System.Exception: test │
00:05:22 verbose #9841 > > │ at FSI_0035.closure0(Mut0 v0, Int32 v1, Unit unitVar2) │
00:05:22 verbose #9842 > > │ at FSI_0035.method1(Mut0 v0, Int32 v1) │
00:05:22 verbose #9843 > > │ assert_eq / actual: US0_0 2 / expected: US0_0 2 │
00:05:22 verbose #9844 > > │ │
00:05:22 verbose #9845 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:22 verbose #9846 > >
00:05:22 verbose #9847 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:22 verbose #9848 > > //// test
00:05:22 verbose #9849 > > ///! rust
00:05:22 verbose #9850 > >
00:05:22 verbose #9851 > > types ()
00:05:22 verbose #9852 > > inl retry_fn_test = mut 0i32
00:05:22 verbose #9853 > > fun () =>
00:05:22 verbose #9854 > > if *retry_fn_test >= 2
00:05:22 verbose #9855 > > then *retry_fn_test
00:05:22 verbose #9856 > > else
00:05:22 verbose #9857 > > retry_fn_test <- *retry_fn_test + 1
00:05:22 verbose #9858 > > failwith "test"
00:05:22 verbose #9859 > > |> retry_fn 3i32
00:05:22 verbose #9860 > > |> _assert_eq' (Some 2i32)
00:05:22 verbose #9861 > 00:05:22 debug #459 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8ccb04df943b671d593bca10933e69e7ee05777f0d4ae1fe1fc2ae10ab8e0b0d/main.spi
00:05:33 verbose #9862 > >
00:05:33 verbose #9863 > > ╭─[ 10.96s - return value ]────────────────────────────────────────────────────╮
00:05:33 verbose #9864 > > │ 00:00:00 warning #1 retry_fn / retry: 0 / ex: Exception { message: │
00:05:33 verbose #9865 > > │ "test" } │
00:05:33 verbose #9866 > > │ 00:00:00 warning #2 retry_fn / retry: 1 / ex: Exception { message: │
00:05:33 verbose #9867 > > │ "test" } │
00:05:33 verbose #9868 > > │ assert_eq' / actual: US0_0(2) / expected: US0_0(2) │
00:05:33 verbose #9869 > > │ │
00:05:33 verbose #9870 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:33 verbose #9871 > >
00:05:33 verbose #9872 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:33 verbose #9873 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:33 verbose #9874 > > │ ## main │
00:05:33 verbose #9875 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:33 verbose #9876 > >
00:05:33 verbose #9877 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:33 verbose #9878 > > inl main () =
00:05:33 verbose #9879 > > types ()
00:05:33 verbose #9880 > > init_trace_state None
00:05:33 verbose #9881 > > inl new_disposable x : _ () = new_disposable x
00:05:33 verbose #9882 > > $"let new_disposable x = !new_disposable x" : ()
00:05:33 verbose #9883 > >
00:05:33 verbose #9884 > > inl retry_fn (r : i32) (x : () -> _) : optionm'.option' () = retry_fn r x |>
00:05:33 verbose #9885 > > optionm'.box
00:05:33 verbose #9886 > > $"let retry_fn x = !retry_fn x" : ()
00:05:33 verbose #9887 > > inl memoize (fn : () -> ()) : () -> () = memoize fn
00:05:33 verbose #9888 > > $"let memoize x = !memoize x" : ()
00:05:33 verbose #9889 > 00:05:33 debug #460 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/21e1f5a0f2898727b14dfd4933b74e3c4841565ef0ef877be818468cc0ae8486/main.spi
00:05:34 verbose #9890 > 00:00:51 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 24826
00:05:34 verbose #9891 > 00:00:51 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:05:34 verbose #9892 > 00:00:52 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb to html
00:05:34 verbose #9893 > 00:00:52 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:05:34 verbose #9894 > 00:00:52 verbose #7 ! validate(nb)
00:05:35 verbose #9895 > 00:00:52 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:05:35 verbose #9896 > 00:00:52 verbose #9 ! return _pygments_highlight(
00:05:35 verbose #9897 > 00:00:53 verbose #10 ! [NbConvertApp] Writing 334692 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/common.dib.html
00:05:35 verbose #9898 > 00:00:53 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 896
00:05:35 verbose #9899 > 00:00:53 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 896
00:05:35 verbose #9900 > 00:00:53 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:05:35 verbose #9901 > 00:00:53 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:05:35 verbose #9902 > 00:00:53 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:05:35 verbose #9903 > 00:00:53 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 25781
00:05:35 debug #9904 execute_with_options_async / exit_code: 0 / output.Length: 29170
00:05:35 debug #12 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path common.dib --retries 3
00:05:35 debug #9905 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path resultm.dib --retries 3",
[||], None, None, true, None)
00:05:35 verbose #9906 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "resultm.dib", "--retries", "3"])
00:05:35 verbose #9907 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:05:37 verbose #9908 > >
00:05:37 verbose #9909 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:37 verbose #9910 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:37 verbose #9911 > > │ # resultm │
00:05:37 verbose #9912 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:37 verbose #9913 > >
00:05:37 verbose #9914 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:37 verbose #9915 > > open rust_operators
00:05:37 verbose #9916 > >
00:05:37 verbose #9917 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:05:37 verbose #9918 > > #r
00:05:37 verbose #9919 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:05:37 verbose #9920 > > Net.Interactive.Spiral.dll"
00:05:37 verbose #9921 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:05:37 verbose #9922 > > #r
00:05:37 verbose #9923 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:05:37 verbose #9924 > > Net.Interactive.dll"
00:05:37 verbose #9925 > > open type Microsoft.DotNet.Interactive.Kernel
00:05:40 verbose #9926 > >
00:05:40 verbose #9927 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #9928 > > //// test
00:05:40 verbose #9929 > >
00:05:40 verbose #9930 > > open testing
00:05:40 verbose #9931 > 00:05:39 debug #461 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d67524a3bcd7038c5c43eb4daee40517b284f6b43c6c9788496346ad0e56646c/main.spi
00:05:40 verbose #9932 > >
00:05:40 verbose #9933 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #9934 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #9935 > > │ ## result' │
00:05:40 verbose #9936 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #9937 > >
00:05:40 verbose #9938 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #9939 > > nominal result' t u = $"Result<`t, `u>"
00:05:40 verbose #9940 > 00:05:40 debug #462 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/24c9485279a8b78fd1932514ac18e436bf2dbbae7e9be908b9c15147dce7f763/main.spi
00:05:40 verbose #9941 > >
00:05:40 verbose #9942 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #9943 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #9944 > > │ ## from_option_error │
00:05:40 verbose #9945 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #9946 > >
00:05:40 verbose #9947 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #9948 > > inl from_option_error error opt =
00:05:40 verbose #9949 > > match opt with
00:05:40 verbose #9950 > > | Some x => Ok x
00:05:40 verbose #9951 > > | None => Error error
00:05:40 verbose #9952 > 00:05:40 debug #463 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f99cfaa402c62ea4b652a3b1657b7067000df7e8eeea8be0fd85e0f1dec847c0/main.spi
00:05:40 verbose #9953 > >
00:05:40 verbose #9954 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #9955 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #9956 > > │ ## from_option │
00:05:40 verbose #9957 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #9958 > >
00:05:40 verbose #9959 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #9960 > > inl from_option opt =
00:05:40 verbose #9961 > > opt |> from_option_error "resultm.from_option / Option does not have a
00:05:40 verbose #9962 > > value."
00:05:40 verbose #9963 > 00:05:40 debug #464 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fed821340b96faca3c7cab79521a94caeda38f2a4e9edddd0dd65b3a12b73949/main.spi
00:05:40 verbose #9964 > >
00:05:40 verbose #9965 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #9966 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #9967 > > │ ## flatten_option │
00:05:40 verbose #9968 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #9969 > >
00:05:40 verbose #9970 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #9971 > > inl flatten_option forall t u. (x : option (result (option t) u)) : result
00:05:40 verbose #9972 > > (option t) u =
00:05:40 verbose #9973 > > match x with
00:05:40 verbose #9974 > > | Some (Error x) => Error x
00:05:40 verbose #9975 > > | Some (Ok (Some x)) => Ok (Some x)
00:05:40 verbose #9976 > > | _ => Ok None
00:05:40 verbose #9977 > 00:05:40 debug #465 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fdb21a0a07df58e3b2f9a257fce9a197cc52a42024e90cfc4da44daea2393a97/main.spi
00:05:40 verbose #9978 > >
00:05:40 verbose #9979 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #9980 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #9981 > > │ ## flatten │
00:05:40 verbose #9982 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #9983 > >
00:05:40 verbose #9984 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #9985 > > inl flatten forall t u. (x : result (result t u) u) : result t u =
00:05:40 verbose #9986 > > match x with
00:05:40 verbose #9987 > > | Ok x => x
00:05:40 verbose #9988 > > | Error x => Error x
00:05:40 verbose #9989 > 00:05:40 debug #466 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a24901797c73584e53d79f4d71f92523240b2f9775325eee94c805a95aa81905/main.spi
00:05:40 verbose #9990 > >
00:05:40 verbose #9991 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #9992 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #9993 > > │ ## try' │
00:05:40 verbose #9994 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #9995 > >
00:05:40 verbose #9996 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #9997 > > inl try' forall t u. (x : result' t u) : t =
00:05:40 verbose #9998 > > !\\(x, $'"$0?"')
00:05:40 verbose #9999 > 00:05:40 debug #467 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7c3339bd82b55fdc26b9bbe3f552b217b79dd30350d645470401a03c8d113cff/main.spi
00:05:40 verbose #10000 > >
00:05:40 verbose #10001 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #10002 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #10003 > > │ ## to_try │
00:05:40 verbose #10004 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #10005 > >
00:05:40 verbose #10006 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #10007 > > inl to_try forall t u. (x : result' t u) : rust.try t =
00:05:40 verbose #10008 > > !\\(x, $'"$0"')
00:05:40 verbose #10009 > 00:05:40 debug #468 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f2ec78c37fafec22e29833736ca1844ceb5f8bd679bf67d7986be1532696078e/main.spi
00:05:40 verbose #10010 > >
00:05:40 verbose #10011 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:40 verbose #10012 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:40 verbose #10013 > > │ ## unwrap' │
00:05:40 verbose #10014 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:40 verbose #10015 > >
00:05:40 verbose #10016 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:40 verbose #10017 > > inl unwrap' forall t u. (x : result' t u) : t =
00:05:40 verbose #10018 > > !\\(x, $'"$0.unwrap()"')
00:05:41 verbose #10019 > 00:05:40 debug #469 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0eab9ea9cb959a3ce84df88740d7d896e63e86ba9c64425337f1c055fa3f9a45/main.spi
00:05:41 verbose #10020 > >
00:05:41 verbose #10021 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10022 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10023 > > │ ## get │
00:05:41 verbose #10024 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10025 > >
00:05:41 verbose #10026 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10027 > > inl get forall t e. (source : result t e) : t =
00:05:41 verbose #10028 > > match source with
00:05:41 verbose #10029 > > | Ok x => x
00:05:41 verbose #10030 > > | Error x => failwith $'$"resultm.get / Result value was Error: {!x}"'
00:05:41 verbose #10031 > 00:05:40 debug #470 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cb87a91f962ffda0774fffe2ca55d98448c49cc2f1f342b998d107b13aca976d/main.spi
00:05:41 verbose #10032 > >
00:05:41 verbose #10033 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10034 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10035 > > │ ## unbox │
00:05:41 verbose #10036 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10037 > >
00:05:41 verbose #10038 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10039 > > inl unbox forall t u. (x : result' t u) : result t u =
00:05:41 verbose #10040 > > inl ok x : result t u = Ok x
00:05:41 verbose #10041 > > inl error x : result t u = Error x
00:05:41 verbose #10042 > > real
00:05:41 verbose #10043 > > typecase t with
00:05:41 verbose #10044 > > | () => $"match !x with Ok () -> !ok () | Error x -> !error x" : result
00:05:41 verbose #10045 > > t u
00:05:41 verbose #10046 > > | _ => $"match !x with Ok x -> !ok x | Error x -> !error x" : result t u
00:05:41 verbose #10047 > 00:05:40 debug #471 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/103a304985b9bf2dd3eb6573ba6300f0060b03493a7e719a86fc3430d10964a5/main.spi
00:05:41 verbose #10048 > >
00:05:41 verbose #10049 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10050 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10051 > > │ ## unbox' │
00:05:41 verbose #10052 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10053 > >
00:05:41 verbose #10054 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10055 > > inl unbox' forall t u. (x : result' t u) : result t u =
00:05:41 verbose #10056 > > inl ok x : result t u = Ok x
00:05:41 verbose #10057 > > inl ok = join ok
00:05:41 verbose #10058 > > inl error x : result t u = Error x
00:05:41 verbose #10059 > > inl error = join error
00:05:41 verbose #10060 > > real
00:05:41 verbose #10061 > > typecase t with
00:05:41 verbose #10062 > > | () =>
00:05:41 verbose #10063 > > (~!\\)
00:05:41 verbose #10064 > > `((result' t u -> result t u) * (result' t u -> result t u))
00:05:41 verbose #10065 > > `(result t u)
00:05:41 verbose #10066 > > ((ok, error), ($'"match !x { Ok(()) => $0(()), Err(e) => $1(e)
00:05:41 verbose #10067 > > }"' : string))
00:05:41 verbose #10068 > > | _ =>
00:05:41 verbose #10069 > > (~!\\)
00:05:41 verbose #10070 > > `((result' t u -> result t u) * (result' t u -> result t u))
00:05:41 verbose #10071 > > `(result t u)
00:05:41 verbose #10072 > > ((ok, error), ($'"match !x { Ok(x) => $0(x), Err(e) => $1(e) }"'
00:05:41 verbose #10073 > > : string))
00:05:41 verbose #10074 > 00:05:40 debug #472 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b325a5ce310a28f6a6b9e8dbc5ec1b16f144077dcd1d4d4e15ad93e4384f8eac/main.spi
00:05:41 verbose #10075 > >
00:05:41 verbose #10076 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10077 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10078 > > │ ## box │
00:05:41 verbose #10079 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10080 > >
00:05:41 verbose #10081 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10082 > > inl box forall t u. (x : result t u) : result' t u =
00:05:41 verbose #10083 > > match x with
00:05:41 verbose #10084 > > | Ok x => $"Ok !x"
00:05:41 verbose #10085 > > | Error err => $"Error !err"
00:05:41 verbose #10086 > 00:05:40 debug #473 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/66c980b77479a77eb498bf64667b79006f4b4c6c116fbf47d6db60f14caec6ad/main.spi
00:05:41 verbose #10087 > >
00:05:41 verbose #10088 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10089 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10090 > > │ ## map │
00:05:41 verbose #10091 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10092 > >
00:05:41 verbose #10093 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10094 > > inl map forall t e u. (fn : t -> u) (source : result t e) : result u e =
00:05:41 verbose #10095 > > match source with
00:05:41 verbose #10096 > > | Ok x => x |> fn |> Ok
00:05:41 verbose #10097 > > | Error x => Error x
00:05:41 verbose #10098 > 00:05:40 debug #474 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1eb30f10f90309839c1e7c0db908e15a67711360e4d2428737d8e95227b5271d/main.spi
00:05:41 verbose #10099 > >
00:05:41 verbose #10100 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10101 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10102 > > │ ## map_error │
00:05:41 verbose #10103 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10104 > >
00:05:41 verbose #10105 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10106 > > inl map_error forall t e u. (fn : e -> u) (source : result t e) : result t u =
00:05:41 verbose #10107 > > match source with
00:05:41 verbose #10108 > > | Ok x => Ok x
00:05:41 verbose #10109 > > | Error x => x |> fn |> Error
00:05:41 verbose #10110 > 00:05:40 debug #475 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0a8a38ca1d0712be007748009b8da19af618352e2d64727f893660c47ea06968/main.spi
00:05:41 verbose #10111 > >
00:05:41 verbose #10112 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10113 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10114 > > │ ## map' │
00:05:41 verbose #10115 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10116 > >
00:05:41 verbose #10117 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10118 > > inl map' forall t e u. (fn : t -> u) (source : result' t e) : result' u e =
00:05:41 verbose #10119 > > (!\\(source, $'"true; let _result = $0.map(|x| { //"') : bool) |> ignore
00:05:41 verbose #10120 > > (!\\(fn !\($'"x"'), $'"true; $0 })"') : bool) |> ignore
00:05:41 verbose #10121 > > !\($'"_result"')
00:05:41 verbose #10122 > 00:05:41 debug #476 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ece87f0598551f4eaf47d11c48007046c6a21b9045d00c7b598b9371dc4ee30/main.spi
00:05:41 verbose #10123 > >
00:05:41 verbose #10124 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10125 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10126 > > │ ## map'' │
00:05:41 verbose #10127 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10128 > >
00:05:41 verbose #10129 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10130 > > inl map'' forall t e u. (fn : t -> u) (source : result' t e) : result' u e =
00:05:41 verbose #10131 > > inl fn = join fn
00:05:41 verbose #10132 > > inl source = join source
00:05:41 verbose #10133 > > !\($'"!source.map(|x| !fn(x))"')
00:05:41 verbose #10134 > 00:05:41 debug #477 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9f0b9638a3af6e6d1f01e34a87d2fe9a99423e4ce97118fb335b825d820307fd/main.spi
00:05:41 verbose #10135 > >
00:05:41 verbose #10136 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10137 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10138 > > │ ## map_error' │
00:05:41 verbose #10139 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10140 > >
00:05:41 verbose #10141 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10142 > > inl map_error' forall t e u. (fn : e -> u) (source : result' t e) : result' t u
00:05:41 verbose #10143 > > =
00:05:41 verbose #10144 > > inl fn = join fn
00:05:41 verbose #10145 > > !\\((source, fn), $'"$0.map_err(|x| $1(x))"')
00:05:41 verbose #10146 > 00:05:41 debug #478 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0c7227e011c995a52a431ecfeb25512e55d114b30b652a55c63e116a23e008d8/main.spi
00:05:41 verbose #10147 > >
00:05:41 verbose #10148 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10149 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10150 > > │ ## map_error'' │
00:05:41 verbose #10151 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10152 > >
00:05:41 verbose #10153 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10154 > > inl map_error'' forall t e u. (fn : e -> u) (source : result' t e) : result' t u
00:05:41 verbose #10155 > > =
00:05:41 verbose #10156 > > (!\\(source, $'"true; let _result = $0.map_err(|x| { //"') : bool) |> ignore
00:05:41 verbose #10157 > > (!\\(fn !\($'"x"'), $'"true; $0 })"') : bool) |> ignore
00:05:41 verbose #10158 > > !\($'"_result"')
00:05:41 verbose #10159 > 00:05:41 debug #479 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f2bf1c49214b0cbda84373f849795bdccf3a8b581e0aae6ac5fa7a6c347831e/main.spi
00:05:41 verbose #10160 > >
00:05:41 verbose #10161 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10162 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10163 > > │ ## option_ok_or │
00:05:41 verbose #10164 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10165 > >
00:05:41 verbose #10166 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10167 > > inl option_ok_or forall t e. (e : e) (source : optionm'.option' t) : result' t e
00:05:41 verbose #10168 > > =
00:05:41 verbose #10169 > > !\\(source, $'"$0.ok_or(!e)"')
00:05:41 verbose #10170 > 00:05:41 debug #480 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1b6ae80f64e6952151763fe8646c7a6e15a383299bca8e72c512a77c48cf16aa/main.spi
00:05:41 verbose #10171 > >
00:05:41 verbose #10172 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10173 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10174 > > │ ## as_ref │
00:05:41 verbose #10175 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10176 > >
00:05:41 verbose #10177 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10178 > > inl as_ref forall t e. (source : result' t e) : result' (rust.ref' t) (rust.ref'
00:05:41 verbose #10179 > > e) =
00:05:41 verbose #10180 > > !\($'"!source.as_ref()"')
00:05:41 verbose #10181 > 00:05:41 debug #481 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6eeb12766b81e6cd3f450a65d1a64610101d63661881f684415c8996ea467642/main.spi
00:05:41 verbose #10182 > >
00:05:41 verbose #10183 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10184 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10185 > > │ ## as_ref' │
00:05:41 verbose #10186 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10187 > >
00:05:41 verbose #10188 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10189 > > inl as_ref' forall t e. (source : rust.ref' (result' t e)) : result' (rust.ref'
00:05:41 verbose #10190 > > t) (rust.ref' e) =
00:05:41 verbose #10191 > > !\($'"!source.as_ref()"')
00:05:41 verbose #10192 > 00:05:41 debug #482 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1fab4d4d1b71d59c9b94471aa658acec9b441d4485e840164c32fe38fb90db41/main.spi
00:05:41 verbose #10193 > >
00:05:41 verbose #10194 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:41 verbose #10195 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:41 verbose #10196 > > │ ## unwrap_or' │
00:05:41 verbose #10197 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:41 verbose #10198 > >
00:05:41 verbose #10199 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:41 verbose #10200 > > inl unwrap_or' forall t u. (default : t) (x : result' t u) : t =
00:05:41 verbose #10201 > > !\\((x, default), $'"$0.unwrap_or($1)"')
00:05:42 verbose #10202 > 00:05:41 debug #483 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/03e0be2e0715f8b1933e2a5e03335a6270ae255bbcf6f6636395117ce931ac28/main.spi
00:05:42 verbose #10203 > >
00:05:42 verbose #10204 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:42 verbose #10205 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:42 verbose #10206 > > │ ## expect │
00:05:42 verbose #10207 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:42 verbose #10208 > >
00:05:42 verbose #10209 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:42 verbose #10210 > > inl expect forall t u. (error : rust.ref' string) (x : result' t u) : t =
00:05:42 verbose #10211 > > !\($'"!x.expect(&!error)"')
00:05:42 verbose #10212 > 00:05:41 debug #484 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4a65178e6a36ed85f4d8ffac74763d8e9257fa4d3d2ef23ea3a3c8aa5965a56f/main.spi
00:05:42 verbose #10213 > >
00:05:42 verbose #10214 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:42 verbose #10215 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:42 verbose #10216 > > │ ## ok' │
00:05:42 verbose #10217 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:42 verbose #10218 > >
00:05:42 verbose #10219 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:42 verbose #10220 > > inl ok' forall t. (x : result' t _) : optionm'.option' t =
00:05:42 verbose #10221 > > !\($'"!x.ok()"')
00:05:42 verbose #10222 > 00:05:41 debug #485 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aae681511ed9e46e4c43845eccfba16ecdff3411155c310a7006b1fa60595a33/main.spi
00:05:42 verbose #10223 > >
00:05:42 verbose #10224 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:42 verbose #10225 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:42 verbose #10226 > > │ ## ok │
00:05:42 verbose #10227 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:42 verbose #10228 > >
00:05:42 verbose #10229 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:42 verbose #10230 > > inl ok forall t. (x : result t _) : option t =
00:05:42 verbose #10231 > > match x with
00:05:42 verbose #10232 > > | Ok x => Some x
00:05:42 verbose #10233 > > | Error _ => None
00:05:42 verbose #10234 > 00:05:41 debug #486 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/85f395e7952226767ef704a99db6d2f8d4233e57ccbbfb3185df573bc5eeaabc/main.spi
00:05:42 verbose #10235 > >
00:05:42 verbose #10236 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:42 verbose #10237 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:42 verbose #10238 > > │ ## transpose │
00:05:42 verbose #10239 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:42 verbose #10240 > >
00:05:42 verbose #10241 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:42 verbose #10242 > > inl transpose forall t u. (x : optionm'.option' (result' t u)) : result'
00:05:42 verbose #10243 > > (optionm'.option' t) u =
00:05:42 verbose #10244 > > !\\(x, $'"$0.transpose()"')
00:05:42 verbose #10245 > 00:05:41 debug #487 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/33971f5d10a18c13133a49f8b3dbb1dba0cb5444257b93a1114015168551083a/main.spi
00:05:42 verbose #10246 > >
00:05:42 verbose #10247 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:42 verbose #10248 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:42 verbose #10249 > > │ ## rc_try_unwrap │
00:05:42 verbose #10250 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:42 verbose #10251 > >
00:05:42 verbose #10252 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:42 verbose #10253 > > inl rc_try_unwrap forall t. (x : rust.rc t) : result' t (rust.rc t) =
00:05:42 verbose #10254 > > !\\(x, $'"std::rc::Rc::try_unwrap($0)"')
00:05:42 verbose #10255 > 00:05:41 debug #488 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7caea858e2d906622795dfa15e31b99bbfa518c7044bd4bf2fb087f070407f62/main.spi
00:05:42 verbose #10256 > >
00:05:42 verbose #10257 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:42 verbose #10258 > > //// test
00:05:42 verbose #10259 > > ///! rust
00:05:42 verbose #10260 > >
00:05:42 verbose #10261 > > types ()
00:05:42 verbose #10262 > > rust.new_rc true
00:05:42 verbose #10263 > > |> rc_try_unwrap
00:05:42 verbose #10264 > > |> unbox
00:05:42 verbose #10265 > > |> _assert_eq (Ok true)
00:05:42 verbose #10266 > 00:05:42 debug #489 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1b6f2f26862c48a67ddf0840db6a7a4d2544f71f807935009def79f98e8c8b41/main.spi
00:05:53 verbose #10267 > >
00:05:53 verbose #10268 > > ╭─[ 10.64s - return value ]────────────────────────────────────────────────────╮
00:05:53 verbose #10269 > > │ assert_eq / actual: US0_0(true) / expected: US0_0(true) │
00:05:53 verbose #10270 > > │ │
00:05:53 verbose #10271 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:53 verbose #10272 > 00:00:17 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 19269
00:05:53 verbose #10273 > 00:00:17 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:05:53 verbose #10274 > 00:00:17 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb to html
00:05:53 verbose #10275 > 00:00:17 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:05:53 verbose #10276 > 00:00:17 verbose #7 ! validate(nb)
00:05:54 verbose #10277 > 00:00:18 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:05:54 verbose #10278 > 00:00:18 verbose #9 ! return _pygments_highlight(
00:05:54 verbose #10279 > 00:00:18 verbose #10 ! [NbConvertApp] Writing 325921 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.html
00:05:54 verbose #10280 > 00:00:18 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 898
00:05:54 verbose #10281 > 00:00:18 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 898
00:05:54 verbose #10282 > 00:00:18 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:05:54 verbose #10283 > 00:00:19 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:05:54 verbose #10284 > 00:00:19 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:05:54 verbose #10285 > 00:00:19 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 20226
00:05:54 debug #10286 execute_with_options_async / exit_code: 0 / output.Length: 23300
00:05:54 debug #13 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path resultm.dib --retries 3
00:05:54 debug #10287 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path console.dib --retries 3",
[||], None, None, true, None)
00:05:54 verbose #10288 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "console.dib", "--retries", "3"])
00:05:54 verbose #10289 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:05:56 verbose #10290 > >
00:05:56 verbose #10291 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:56 verbose #10292 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:56 verbose #10293 > > │ # console │
00:05:56 verbose #10294 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:56 verbose #10295 > >
00:05:56 verbose #10296 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:56 verbose #10297 > > //// test
00:05:56 verbose #10298 > >
00:05:56 verbose #10299 > > open testing
00:05:56 verbose #10300 > >
00:05:56 verbose #10301 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:05:56 verbose #10302 > > #r
00:05:56 verbose #10303 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:05:56 verbose #10304 > > Net.Interactive.Spiral.dll"
00:05:56 verbose #10305 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:05:56 verbose #10306 > > #r
00:05:56 verbose #10307 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:05:56 verbose #10308 > > Net.Interactive.dll"
00:05:56 verbose #10309 > > open type Microsoft.DotNet.Interactive.Kernel
00:05:59 verbose #10310 > >
00:05:59 verbose #10311 > > ── markdown ────────────────────────────────────────────────────────────────────
00:05:59 verbose #10312 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:05:59 verbose #10313 > > │ ## write_line │
00:05:59 verbose #10314 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:05:59 verbose #10315 > >
00:05:59 verbose #10316 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:59 verbose #10317 > > inl write_line obj : () =
00:05:59 verbose #10318 > > $"System.Console.WriteLine !obj"
00:05:59 verbose #10319 > 00:05:58 debug #490 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/71716729a2ca101e11195748c103bc9c8a3f10667e468e307d7e6df4c7c2a182/main.spi
00:05:59 verbose #10320 > >
00:05:59 verbose #10321 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:59 verbose #10322 > > inl write_line_ ~obj : () =
00:05:59 verbose #10323 > > $"System.Console.WriteLine !obj"
00:05:59 verbose #10324 > 00:05:59 debug #491 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bec4b67e0c55fe4aacc72e2ee2ebfede0554bc9a3790930c9672b0da2a479094/main.spi
00:05:59 verbose #10325 > >
00:05:59 verbose #10326 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:05:59 verbose #10327 > > nominal console_color = $"System.ConsoleColor"
00:05:59 verbose #10328 > >
00:05:59 verbose #10329 > > inl reset_color () : () =
00:05:59 verbose #10330 > > run_target function
00:05:59 verbose #10331 > > | Fsharp => fun () => $"System.Console.ResetColor ()"
00:05:59 verbose #10332 > > | _ => fun () => ()
00:05:59 verbose #10333 > >
00:05:59 verbose #10334 > > inl set_foreground_color (color : console_color) : () =
00:05:59 verbose #10335 > > run_target function
00:05:59 verbose #10336 > > | Fsharp => fun () => $"System.Console.ForegroundColor <- !color"
00:05:59 verbose #10337 > > | _ => fun () => ()
00:05:59 verbose #10338 > 00:05:59 debug #492 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f7fd5c038baf6d91094ba591075fbffca349c9f7f4b14ad519606fe3c2a7c6dd/main.spi
00:05:59 verbose #10339 > 00:00:04 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 2133
00:05:59 verbose #10340 > 00:00:04 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:06:00 verbose #10341 > 00:00:05 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb to html
00:06:00 verbose #10342 > 00:00:05 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:06:00 verbose #10343 > 00:00:05 verbose #7 ! validate(nb)
00:06:00 verbose #10344 > 00:00:05 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:06:00 verbose #10345 > 00:00:05 verbose #9 ! return _pygments_highlight(
00:06:00 verbose #10346 > 00:00:05 verbose #10 ! [NbConvertApp] Writing 275425 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/console.dib.html
00:06:00 verbose #10347 > 00:00:05 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 898
00:06:00 verbose #10348 > 00:00:05 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 898
00:06:00 verbose #10349 > 00:00:05 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:06:01 verbose #10350 > 00:00:06 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:06:01 verbose #10351 > 00:00:06 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:06:01 verbose #10352 > 00:00:06 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 3090
00:06:01 debug #10353 execute_with_options_async / exit_code: 0 / output.Length: 5584
00:06:01 debug #14 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path console.dib --retries 3
00:06:01 debug #10354 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path date_time.dib --retries 3",
[||], None, None, true, None)
00:06:01 verbose #10355 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "date_time.dib", "--retries", "3"])
00:06:01 verbose #10356 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:06:02 verbose #10357 > >
00:06:02 verbose #10358 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:02 verbose #10359 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:02 verbose #10360 > > │ # date_time │
00:06:02 verbose #10361 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:02 verbose #10362 > >
00:06:02 verbose #10363 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:02 verbose #10364 > > open rust_operators
00:06:02 verbose #10365 > > open sm'_operators
00:06:02 verbose #10366 > >
00:06:02 verbose #10367 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:06:02 verbose #10368 > > #r
00:06:02 verbose #10369 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:06:02 verbose #10370 > > Net.Interactive.Spiral.dll"
00:06:02 verbose #10371 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:06:02 verbose #10372 > > #r
00:06:02 verbose #10373 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:06:02 verbose #10374 > > Net.Interactive.dll"
00:06:02 verbose #10375 > > open type Microsoft.DotNet.Interactive.Kernel
00:06:05 verbose #10376 > >
00:06:05 verbose #10377 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:05 verbose #10378 > > //// test
00:06:05 verbose #10379 > >
00:06:05 verbose #10380 > > open testing
00:06:05 verbose #10381 > 00:06:05 debug #493 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/985a2062e50fddda1b89de8b792b508339c9d47a2c420f37b274099510c0c521/main.spi
00:06:05 verbose #10382 > >
00:06:05 verbose #10383 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:05 verbose #10384 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:05 verbose #10385 > > │ ## types │
00:06:05 verbose #10386 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:05 verbose #10387 > >
00:06:05 verbose #10388 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:05 verbose #10389 > > inl types () =
00:06:05 verbose #10390 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:06:05 verbose #10391 > > Fable.Core.Emit(\"chrono::DateTime<$0>\")>]]\n#endif\ntype chrono_DateTime<'T> =
00:06:05 verbose #10392 > > class end"
00:06:05 verbose #10393 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:06:05 verbose #10394 > > Fable.Core.Emit(\"chrono::Local\")>]]\n#endif\ntype chrono_Local = class end"
00:06:05 verbose #10395 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:06:05 verbose #10396 > > Fable.Core.Emit(\"chrono::NaiveDateTime\")>]]\n#endif\ntype chrono_NaiveDateTime
00:06:05 verbose #10397 > > = class end"
00:06:05 verbose #10398 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:06:05 verbose #10399 > > Fable.Core.Emit(\"chrono::Utc\")>]]\n#endif\ntype chrono_Utc = class end"
00:06:05 verbose #10400 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:06:05 verbose #10401 > > Fable.Core.Emit(\"std::time::Duration\")>]]\n#endif\ntype std_time_Duration =
00:06:05 verbose #10402 > > class end"
00:06:05 verbose #10403 > 00:06:05 debug #494 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a01f6f93a421bbf6b2cc90b18687ccb3de15f40d48b18797461e7469425d0f11/main.spi
00:06:05 verbose #10404 > >
00:06:05 verbose #10405 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:05 verbose #10406 > > inl types () =
00:06:05 verbose #10407 > > sm'.types ()
00:06:05 verbose #10408 > > types ()
00:06:05 verbose #10409 > 00:06:05 debug #495 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/358c862038b2c7ab74aff08717f8be22961b3320519b1716afb66c6e4dc9f97e/main.spi
00:06:05 verbose #10410 > >
00:06:05 verbose #10411 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:05 verbose #10412 > > nominal timestamp = i64
00:06:05 verbose #10413 > > nominal duration = $"std_time_Duration"
00:06:05 verbose #10414 > > nominal date_time = $"System.DateTime"
00:06:05 verbose #10415 > > nominal date_time' t = $"chrono_DateTime<`t>"
00:06:05 verbose #10416 > > nominal local = $"chrono_Local"
00:06:05 verbose #10417 > > nominal naive_date_time = $"chrono_NaiveDateTime"
00:06:05 verbose #10418 > > nominal utc = $"chrono_Utc"
00:06:05 verbose #10419 > 00:06:05 debug #496 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/739a9f184038d4d7e55d3df4adf74da8ea252c33cbfa959f59f9a718babadc52/main.spi
00:06:05 verbose #10420 > >
00:06:05 verbose #10421 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:05 verbose #10422 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:05 verbose #10423 > > │ ## date_time_milliseconds │
00:06:05 verbose #10424 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:05 verbose #10425 > >
00:06:05 verbose #10426 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:05 verbose #10427 > > inl date_time_milliseconds
00:06:05 verbose #10428 > > (year : int) (month : int) (day : int) (hour : int) (minute : int) (second :
00:06:05 verbose #10429 > > int) (millisecond : int)
00:06:05 verbose #10430 > > : date_time
00:06:05 verbose #10431 > > =
00:06:05 verbose #10432 > > $'System.DateTime (!year, !month, !day, !hour, !minute, !second,
00:06:05 verbose #10433 > > !millisecond)'
00:06:05 verbose #10434 > 00:06:05 debug #497 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/559a8f6367b18f4375feb7be74ea4c1daa80ec832191cd0b3db9f56a6ece7cb3/main.spi
00:06:05 verbose #10435 > >
00:06:05 verbose #10436 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:05 verbose #10437 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:05 verbose #10438 > > │ ## date_time_utc │
00:06:05 verbose #10439 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:05 verbose #10440 > >
00:06:05 verbose #10441 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:05 verbose #10442 > > inl date_time_utc
00:06:05 verbose #10443 > > (year : int) (month : int) (day : int) (hour : int) (minute : int) (second :
00:06:05 verbose #10444 > > int)
00:06:05 verbose #10445 > > : date_time
00:06:05 verbose #10446 > > =
00:06:05 verbose #10447 > > $'System.DateTime (!year, !month, !day, !hour, !minute, !second,
00:06:05 verbose #10448 > > System.DateTimeKind.Utc)'
00:06:05 verbose #10449 > 00:06:05 debug #498 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/868a8cf263b76dc74e8754f3bb0f24b4ee375a169556147fbc627ea8dad2b786/main.spi
00:06:06 verbose #10450 > >
00:06:06 verbose #10451 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10452 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10453 > > │ ## naive_utc │
00:06:06 verbose #10454 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10455 > >
00:06:06 verbose #10456 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10457 > > inl naive_utc (date_time : date_time' utc) : naive_date_time =
00:06:06 verbose #10458 > > inl date_time = join date_time
00:06:06 verbose #10459 > > !\($'"!date_time.naive_utc()"')
00:06:06 verbose #10460 > 00:06:05 debug #499 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a41f9bb29c6490785165843e3bdad086668d924190a64e84a85dae698843b7e4/main.spi
00:06:06 verbose #10461 > >
00:06:06 verbose #10462 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10463 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10464 > > │ ## to_local │
00:06:06 verbose #10465 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10466 > >
00:06:06 verbose #10467 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10468 > > inl to_local (date_time : date_time' utc) : date_time' local =
00:06:06 verbose #10469 > > inl naive_date_time = date_time |> naive_utc
00:06:06 verbose #10470 > > !\($'"chrono::offset::TimeZone::from_utc_datetime(&chrono::Local,
00:06:06 verbose #10471 > > &!naive_date_time)"')
00:06:06 verbose #10472 > 00:06:05 debug #500 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fe1c743fd377bb1f06f38faebc4088675019d24256a13a047e1e2796b56c4532/main.spi
00:06:06 verbose #10473 > >
00:06:06 verbose #10474 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10475 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10476 > > │ ## from_timestamp_micros │
00:06:06 verbose #10477 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10478 > >
00:06:06 verbose #10479 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10480 > > inl from_timestamp_micros forall t {number; int}. (timestamp : t) : option
00:06:06 verbose #10481 > > (date_time' utc) =
00:06:06 verbose #10482 > > inl result : optionm'.option' (date_time' utc) =
00:06:06 verbose #10483 > > !\\(timestamp, $'"chrono::DateTime::from_timestamp_micros($0)"')
00:06:06 verbose #10484 > > result |> optionm'.unbox
00:06:06 verbose #10485 > 00:06:05 debug #501 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d68e95f7f85c0c098e169ec81e84ce4df9b1bc23aabe436172965c274a7017ff/main.spi
00:06:06 verbose #10486 > >
00:06:06 verbose #10487 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10488 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10489 > > │ ## ticks │
00:06:06 verbose #10490 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10491 > >
00:06:06 verbose #10492 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10493 > > inl ticks (date_time : date_time) : timestamp =
00:06:06 verbose #10494 > > date_time |> $'_.Ticks'
00:06:06 verbose #10495 > 00:06:05 debug #502 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f9b659a680f4f6b0a51005d30ab60a83765ffe81ba3f41b81463c4031915d2d9/main.spi
00:06:06 verbose #10496 > >
00:06:06 verbose #10497 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10498 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10499 > > │ ## format │
00:06:06 verbose #10500 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10501 > >
00:06:06 verbose #10502 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10503 > > inl format (format : string) (date_time : date_time) : string =
00:06:06 verbose #10504 > > $'!date_time.ToString' format
00:06:06 verbose #10505 > 00:06:05 debug #503 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/36646897c07dd0f9d189cb8b43a37b937cf774391ca1a80aa6ae419cdaddac67/main.spi
00:06:06 verbose #10506 > >
00:06:06 verbose #10507 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10508 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10509 > > │ ## format_iso8601 │
00:06:06 verbose #10510 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10511 > >
00:06:06 verbose #10512 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10513 > > inl format_iso8601 (date_time : date_time) =
00:06:06 verbose #10514 > > date_time |> format "yyyy-MM-ddTHH-mm-ss.fff"
00:06:06 verbose #10515 > 00:06:05 debug #504 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4d1b575f04e8c82a407ac940064af6131cf138b150ab5c975739ed6e06d5c75a/main.spi
00:06:06 verbose #10516 > >
00:06:06 verbose #10517 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10518 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10519 > > │ ## format' │
00:06:06 verbose #10520 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10521 > >
00:06:06 verbose #10522 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10523 > > inl format' (format : string) (date_time : date_time' utc) : sm'.std_string =
00:06:06 verbose #10524 > > inl format = #format
00:06:06 verbose #10525 > > inl date_time = join date_time
00:06:06 verbose #10526 > > !\($'"!date_time.format(!format).to_string()"')
00:06:06 verbose #10527 > 00:06:06 debug #505 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4451f44f971307f3138119f4491fbbb0c3840c8da94a4585bb79e64f22ea52cf/main.spi
00:06:06 verbose #10528 > >
00:06:06 verbose #10529 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10530 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10531 > > │ ## format'' │
00:06:06 verbose #10532 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10533 > >
00:06:06 verbose #10534 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10535 > > inl format'' (format : string) (date_time : date_time' _) : sm'.std_string =
00:06:06 verbose #10536 > > inl format = #format
00:06:06 verbose #10537 > > inl date_time = join date_time
00:06:06 verbose #10538 > > !\($'"!date_time.format(!format).to_string()"')
00:06:06 verbose #10539 > 00:06:06 debug #506 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e87a2d37ad3381fcc27a3b8bfc586c791136031763a2b559b724658cdf28204a/main.spi
00:06:06 verbose #10540 > >
00:06:06 verbose #10541 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10542 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10543 > > │ ## format_timestamp │
00:06:06 verbose #10544 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10545 > >
00:06:06 verbose #10546 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10547 > > inl format_timestamp forall t {number; int}. (timestamp : t) =
00:06:06 verbose #10548 > > inl timestamp = join timestamp
00:06:06 verbose #10549 > > (timestamp / 1000)
00:06:06 verbose #10550 > > |> from_timestamp_micros
00:06:06 verbose #10551 > > |> optionm.map fun x =>
00:06:06 verbose #10552 > > x
00:06:06 verbose #10553 > > |> to_local
00:06:06 verbose #10554 > > |> format'' "%Y-%m-%d %H:%M:%S"
00:06:06 verbose #10555 > > |> sm'.from_std_string
00:06:06 verbose #10556 > > |> resultm.from_option
00:06:06 verbose #10557 > 00:06:06 debug #507 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1884631ce2db1fb827c527529f5516506fa99302d11a8ada1bc8af64e48cefe8/main.spi
00:06:06 verbose #10558 > >
00:06:06 verbose #10559 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10560 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10561 > > │ ## duration_from_millis │
00:06:06 verbose #10562 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10563 > >
00:06:06 verbose #10564 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10565 > > inl duration_from_millis (ms : u64) : duration =
00:06:06 verbose #10566 > > inl ms = join ms
00:06:06 verbose #10567 > > !\($'"std::time::Duration::from_millis(!ms)"')
00:06:06 verbose #10568 > 00:06:06 debug #508 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3523676dfd5eac565dcc823d3a83db8935cf8a41263f77a4510fd746ef1343d1/main.spi
00:06:06 verbose #10569 > >
00:06:06 verbose #10570 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10571 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10572 > > │ ## min_value │
00:06:06 verbose #10573 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10574 > >
00:06:06 verbose #10575 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10576 > > inl min_value () : date_time =
00:06:06 verbose #10577 > > $'System.DateTime.MinValue'
00:06:06 verbose #10578 > 00:06:06 debug #509 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/21ff97f8fca48e3766280b48fc984f64b483537891552f45450d8cb4691d660e/main.spi
00:06:06 verbose #10579 > >
00:06:06 verbose #10580 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:06 verbose #10581 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:06 verbose #10582 > > │ ## max_value │
00:06:06 verbose #10583 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:06 verbose #10584 > >
00:06:06 verbose #10585 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:06 verbose #10586 > > inl max_value () : date_time =
00:06:06 verbose #10587 > > $'System.DateTime.MaxValue'
00:06:06 verbose #10588 > 00:06:06 debug #510 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7f40561def08ce31b7d488df69c00821909a4767a21338a52fb0920b0b39b122/main.spi
00:06:07 verbose #10589 > >
00:06:07 verbose #10590 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10591 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10592 > > │ ## unix_epoch │
00:06:07 verbose #10593 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10594 > >
00:06:07 verbose #10595 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10596 > > inl unix_epoch () : date_time =
00:06:07 verbose #10597 > > $'System.DateTime.UnixEpoch'
00:06:07 verbose #10598 > 00:06:07 debug #511 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/626045bef98e1c074c4251e8871239a3ab8eba7393b1891bee264c56dc55855e/main.spi
00:06:07 verbose #10599 > >
00:06:07 verbose #10600 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10601 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10602 > > │ ## to_universal_time │
00:06:07 verbose #10603 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10604 > >
00:06:07 verbose #10605 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10606 > > inl to_universal_time (date_time : date_time) : date_time =
00:06:07 verbose #10607 > > date_time |> $'_.ToUniversalTime()'
00:06:07 verbose #10608 > 00:06:07 debug #512 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5c5d4d120b944eb5d8215d4c390c4fb170765a163a042ac4d777052a32df6f37/main.spi
00:06:07 verbose #10609 > >
00:06:07 verbose #10610 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10611 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10612 > > │ ## date_time_kind │
00:06:07 verbose #10613 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10614 > >
00:06:07 verbose #10615 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10616 > > union date_time_kind =
00:06:07 verbose #10617 > > | Unspecified
00:06:07 verbose #10618 > > | Utc
00:06:07 verbose #10619 > > | Local
00:06:07 verbose #10620 > 00:06:07 debug #513 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/92fde1941239bf3eaad5a8fd75c860a73a706a9c52f7dc075c4321e53976c7b2/main.spi
00:06:07 verbose #10621 > >
00:06:07 verbose #10622 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10623 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10624 > > │ ## specify_date_kind │
00:06:07 verbose #10625 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10626 > >
00:06:07 verbose #10627 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10628 > > inl specify_date_kind (kind : date_time_kind) (date_time : date_time) :
00:06:07 verbose #10629 > > date_time =
00:06:07 verbose #10630 > > inl kind : $'System.DateTimeKind' =
00:06:07 verbose #10631 > > match kind with
00:06:07 verbose #10632 > > | Unspecified => $'System.DateTimeKind.Unspecified'
00:06:07 verbose #10633 > > | Utc => $'System.DateTimeKind.Utc'
00:06:07 verbose #10634 > > | Local => $'System.DateTimeKind.Local'
00:06:07 verbose #10635 > > $'System.DateTime.SpecifyKind (!date_time, !kind)'
00:06:07 verbose #10636 > 00:06:07 debug #514 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c2ff04025603f9a9a76871c2b83d835039fa504128bd1a7b7d34e4e7a9008ab6/main.spi
00:06:07 verbose #10637 > >
00:06:07 verbose #10638 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10639 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10640 > > │ ## time_span │
00:06:07 verbose #10641 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10642 > >
00:06:07 verbose #10643 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10644 > > nominal time_span = $'System.TimeSpan'
00:06:07 verbose #10645 > >
00:06:07 verbose #10646 > > inl time_span x : time_span =
00:06:07 verbose #10647 > > $'`time_span !x '
00:06:07 verbose #10648 > 00:06:07 debug #515 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ce34eaeae7fdecb877cbffa05db90b56f414ec8a22d9882dbe5e9f520e2f5bf7/main.spi
00:06:07 verbose #10649 > >
00:06:07 verbose #10650 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10651 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10652 > > │ ## new_time_span │
00:06:07 verbose #10653 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10654 > >
00:06:07 verbose #10655 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10656 > > inl new_time_span (a : date_time) (b : date_time) : time_span =
00:06:07 verbose #10657 > > $'!b - !a '
00:06:07 verbose #10658 > 00:06:07 debug #516 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2be8a131237464ab5ccdb1a70de4d7cb1364ce39da8b4ed34d27b6f2c3a544a6/main.spi
00:06:07 verbose #10659 > >
00:06:07 verbose #10660 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10661 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10662 > > │ ## time_span_format │
00:06:07 verbose #10663 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10664 > >
00:06:07 verbose #10665 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10666 > > inl time_span_format (format : string) (time_span : time_span) : string =
00:06:07 verbose #10667 > > $'!time_span.ToString' format
00:06:07 verbose #10668 > 00:06:07 debug #517 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5feda1aa5bfa0fa595074faae7db1f33e84420d3bc3d2c701a8cc2578146b690/main.spi
00:06:07 verbose #10669 > >
00:06:07 verbose #10670 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10671 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10672 > > │ ## hours │
00:06:07 verbose #10673 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10674 > >
00:06:07 verbose #10675 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10676 > > inl hours (time_span : time_span) : i32 =
00:06:07 verbose #10677 > > time_span |> $'_.Hours'
00:06:07 verbose #10678 > 00:06:07 debug #518 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/82bcd06c57532d137b01af8b71dacc38171c1286e3fe2ae446e88ad98198144d/main.spi
00:06:07 verbose #10679 > >
00:06:07 verbose #10680 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:07 verbose #10681 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:07 verbose #10682 > > │ ## milliseconds │
00:06:07 verbose #10683 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:07 verbose #10684 > >
00:06:07 verbose #10685 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:07 verbose #10686 > > inl milliseconds (time_span : time_span) : i32 =
00:06:07 verbose #10687 > > time_span |> $'_.Milliseconds'
00:06:07 verbose #10688 > 00:06:07 debug #519 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7cf4ff1f084b05489d5b459a6ebd184c5c523331dae6d63d31c9ec88c6283fb5/main.spi
00:06:08 verbose #10689 > >
00:06:08 verbose #10690 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10691 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10692 > > │ ## minutes │
00:06:08 verbose #10693 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10694 > >
00:06:08 verbose #10695 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10696 > > inl minutes (time_span : time_span) : i32 =
00:06:08 verbose #10697 > > time_span |> $'_.Minutes'
00:06:08 verbose #10698 > 00:06:07 debug #520 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7b9a3a7cd6c0375ae6f9a25aeabd90b083a6a40097c54f1dcf38f168c5d47c3c/main.spi
00:06:08 verbose #10699 > >
00:06:08 verbose #10700 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10701 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10702 > > │ ## seconds │
00:06:08 verbose #10703 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10704 > >
00:06:08 verbose #10705 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10706 > > inl seconds (time_span : time_span) : i32 =
00:06:08 verbose #10707 > > time_span |> $'_.Seconds'
00:06:08 verbose #10708 > 00:06:07 debug #521 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8880ed80af38b90b1ecc17e703fe5dfda876dda306a4bdaf2a4118e4ce67bb0b/main.spi
00:06:08 verbose #10709 > >
00:06:08 verbose #10710 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10711 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10712 > > │ ## total_seconds │
00:06:08 verbose #10713 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10714 > >
00:06:08 verbose #10715 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10716 > > inl total_seconds (time_span : time_span) : f64 =
00:06:08 verbose #10717 > > time_span |> $'_.TotalSeconds'
00:06:08 verbose #10718 > 00:06:07 debug #522 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9e40f051d471f96ee4ba3d4021d71c8f7dd811c6c34b5769c67b44f6650bd67b/main.spi
00:06:08 verbose #10719 > >
00:06:08 verbose #10720 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10721 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10722 > > │ ## time_zone_info │
00:06:08 verbose #10723 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10724 > >
00:06:08 verbose #10725 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10726 > > nominal time_zone_info = $'System.TimeZoneInfo'
00:06:08 verbose #10727 > 00:06:07 debug #523 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d21c5cbfbc07c6d3038df4dd23c81b0a8a12d9e61bda1c0ff51390a1c9205a76/main.spi
00:06:08 verbose #10728 > >
00:06:08 verbose #10729 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10730 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10731 > > │ ## time_zone_local │
00:06:08 verbose #10732 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10733 > >
00:06:08 verbose #10734 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10735 > > inl time_zone_local () : time_zone_info =
00:06:08 verbose #10736 > > run_target function
00:06:08 verbose #10737 > > | Fsharp (Native) => fun () =>
00:06:08 verbose #10738 > > $'System.TimeZoneInfo.Local'
00:06:08 verbose #10739 > > | Rust (Native) => fun () =>
00:06:08 verbose #10740 > > open rust_operators
00:06:08 verbose #10741 > > !\($'"0i64.into()"')
00:06:08 verbose #10742 > > | _ => fun () => null ()
00:06:08 verbose #10743 > 00:06:07 debug #524 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a662cc063ff47c3d3da499e13f99153187c91f32bcbe0d14a0fcd15e52ae4c93/main.spi
00:06:08 verbose #10744 > >
00:06:08 verbose #10745 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10746 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10747 > > │ ## get_utc_offset │
00:06:08 verbose #10748 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10749 > >
00:06:08 verbose #10750 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10751 > > inl get_utc_offset (time_zone_info : time_zone_info) (date_time : date_time) :
00:06:08 verbose #10752 > > time_span =
00:06:08 verbose #10753 > > run_target function
00:06:08 verbose #10754 > > | Fsharp (Native) => fun () =>
00:06:08 verbose #10755 > > date_time |> $'_.GetUtcOffset' (time_zone_local ())
00:06:08 verbose #10756 > > | _ => fun () =>
00:06:08 verbose #10757 > > time_span ()
00:06:08 verbose #10758 > 00:06:07 debug #525 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/588c9eaba2215eaa74a6d19731223f42bf9ab954462b4565ef3a868ecefe9796/main.spi
00:06:08 verbose #10759 > >
00:06:08 verbose #10760 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10761 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10762 > > │ ## add_days │
00:06:08 verbose #10763 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10764 > >
00:06:08 verbose #10765 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10766 > > inl add_days (days : i32) (date_time : date_time) : date_time =
00:06:08 verbose #10767 > > $'!date_time.AddDays' days
00:06:08 verbose #10768 > 00:06:08 debug #526 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/794a8cdae9241188ce4af1c0efac7875ab360f27950c08bbf3babf9f2402a80c/main.spi
00:06:08 verbose #10769 > >
00:06:08 verbose #10770 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10771 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10772 > > │ ## now │
00:06:08 verbose #10773 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10774 > >
00:06:08 verbose #10775 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10776 > > inl now () : date_time =
00:06:08 verbose #10777 > > $'System.DateTime.Now'
00:06:08 verbose #10778 > 00:06:08 debug #527 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ee885b117231ee444f8fce143aa9b16cec9baca869768900662d663e835b64a/main.spi
00:06:08 verbose #10779 > >
00:06:08 verbose #10780 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10781 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10782 > > │ ## utc_now │
00:06:08 verbose #10783 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10784 > >
00:06:08 verbose #10785 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10786 > > inl utc_now () : date_time =
00:06:08 verbose #10787 > > $'System.DateTime.UtcNow'
00:06:08 verbose #10788 > 00:06:08 debug #528 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bb5088f25c93fb2c5f66a526eda841c809d2f6927608e2c00f3d57128a2da788/main.spi
00:06:08 verbose #10789 > >
00:06:08 verbose #10790 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10791 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10792 > > │ ## timestamp_guid │
00:06:08 verbose #10793 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10794 > >
00:06:08 verbose #10795 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10796 > > type timestamp_guid = guid.guid
00:06:08 verbose #10797 > 00:06:08 debug #529 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/82fdce6f45bbe387d96ce524d5db8504a194de892a035885ec66c3032f579a91/main.spi
00:06:08 verbose #10798 > >
00:06:08 verbose #10799 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10800 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10801 > > │ ## date_time_guid │
00:06:08 verbose #10802 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10803 > >
00:06:08 verbose #10804 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10805 > > type date_time_guid = guid.guid
00:06:08 verbose #10806 > 00:06:08 debug #530 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/76758930ec7408a6bd7e22ce675c0e3b688fc9e7ba20b2c32514621e5b41c83f/main.spi
00:06:08 verbose #10807 > >
00:06:08 verbose #10808 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10809 > > //// test
00:06:08 verbose #10810 > >
00:06:08 verbose #10811 > > inl test_guid () =
00:06:08 verbose #10812 > > guid.new_guid "FEDCBA98-7654-3210-FEDC-BA9876543210"
00:06:08 verbose #10813 > 00:06:08 debug #531 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7d0343c712419474a2ca78f9fb89533757794ab95fd09aed830dea0a375b8a14/main.spi
00:06:08 verbose #10814 > >
00:06:08 verbose #10815 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:08 verbose #10816 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:08 verbose #10817 > > │ ## date_time_guid_from_date_time │
00:06:08 verbose #10818 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:08 verbose #10819 > >
00:06:08 verbose #10820 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10821 > > let date_time_guid_from_date_time (guid : guid.guid) (date_time : date_time) =
00:06:08 verbose #10822 > > inl parse prefix time_zone : date_time_guid =
00:06:08 verbose #10823 > > inl guid = guid |> sm'.obj_to_string
00:06:08 verbose #10824 > > $'`date_time_guid $"{!prefix}{!time_zone}{!guid.[[!prefix.Length +
00:06:08 verbose #10825 > > !time_zone.Length..]]}"'
00:06:08 verbose #10826 > > run_target function
00:06:08 verbose #10827 > > | Fsharp (Native) => fun () =>
00:06:08 verbose #10828 > > inl prefix = date_time |> format (join "yyyyMMdd-HHmm-ssff-ffff-f")
00:06:08 verbose #10829 > > inl time_zone = date_time |> get_utc_offset (time_zone_local ())
00:06:08 verbose #10830 > > inl time_zone_signal = (hours time_zone > 0) |> convert_i32
00:06:08 verbose #10831 > > inl time_zone_value = time_zone |> time_span_format (join "hhmm")
00:06:08 verbose #10832 > > inl time_zone = $'$"{!time_zone_signal}{!time_zone_value}"' : string
00:06:08 verbose #10833 > > parse prefix time_zone
00:06:08 verbose #10834 > > | Rust (Native) => fun () =>
00:06:08 verbose #10835 > > inl epoch =
00:06:08 verbose #10836 > > date_time_utc 1970 1 1 0 0 0
00:06:08 verbose #10837 > > |> to_universal_time
00:06:08 verbose #10838 > > inl date_time =
00:06:08 verbose #10839 > > date_time
00:06:08 verbose #10840 > > |> specify_date_kind Local
00:06:08 verbose #10841 > > |> to_universal_time
00:06:08 verbose #10842 > > inl unixticks =
00:06:08 verbose #10843 > > match date_time |> ticks, epoch |> ticks with
00:06:08 verbose #10844 > > | timestamp date_time, timestamp epoch => date_time - epoch
00:06:08 verbose #10845 > > inl prefix =
00:06:08 verbose #10846 > > unixticks / 10
00:06:08 verbose #10847 > > |> from_timestamp_micros
00:06:08 verbose #10848 > > |> optionm.map (
00:06:08 verbose #10849 > > to_local
00:06:08 verbose #10850 > > >> format'' "%Y%m%d-%H%M-%S%f"
00:06:08 verbose #10851 > > >> sm'.from_std_string
00:06:08 verbose #10852 > > >> fun s => $'$"{!s.[[0..17]]}-{!s.[[18..21]]}-{!s.[[22]]}"'
00:06:08 verbose #10853 > > )
00:06:08 verbose #10854 > > |> optionm'.default_value ""
00:06:08 verbose #10855 > > inl time_zone = date_time |> get_utc_offset (time_zone_local ())
00:06:08 verbose #10856 > > inl time_zone_signal = if hours time_zone > 0 then 1u8 else 0
00:06:08 verbose #10857 > > inl time_zone_value = time_zone |> time_span_format "hh:mm"
00:06:08 verbose #10858 > > inl time_zone =
00:06:08 verbose #10859 > > $'$"{!time_zone_signal}{!time_zone_value.[[0..1]]}{!time_zone_value.[[3..4]]}"'
00:06:08 verbose #10860 > > : string
00:06:08 verbose #10861 > > parse prefix time_zone
00:06:08 verbose #10862 > > | _ => fun () => null ()
00:06:08 verbose #10863 > 00:06:08 debug #532 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/73cd0fe351b61bcc1c90ae544764e27769ff412a651f30cbae7fad648032fd70/main.spi
00:06:08 verbose #10864 > >
00:06:08 verbose #10865 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:08 verbose #10866 > > //// test
00:06:08 verbose #10867 > >
00:06:08 verbose #10868 > > types ()
00:06:08 verbose #10869 > > now () |> to_universal_time |> date_time_guid_from_date_time (test_guid ()) |>
00:06:08 verbose #10870 > > sm'.obj_to_string
00:06:08 verbose #10871 > > |> console.write_line
00:06:08 verbose #10872 > 00:06:08 debug #533 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/522c0eda53e8a8373468c0bb8e048cea2fe991d59ff6bad9d3732f2498709037/main.spi
00:06:10 verbose #10873 > >
00:06:10 verbose #10874 > > ╭─[ 1.14s - stdout ]───────────────────────────────────────────────────────────╮
00:06:10 verbose #10875 > > │ 20240520-1346-3437-3717-300000543210 │
00:06:10 verbose #10876 > > │ │
00:06:10 verbose #10877 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:10 verbose #10878 > >
00:06:10 verbose #10879 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:10 verbose #10880 > > //// test
00:06:10 verbose #10881 > > ///! rust -d chrono
00:06:10 verbose #10882 > >
00:06:10 verbose #10883 > > types ()
00:06:10 verbose #10884 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x
00:06:10 verbose #10885 > > - 6i32) (am'.End id)
00:06:10 verbose #10886 > > now ()
00:06:10 verbose #10887 > > |> to_universal_time
00:06:10 verbose #10888 > > |> date_time_guid_from_date_time (test_guid ())
00:06:10 verbose #10889 > > |> sm'.obj_to_string
00:06:10 verbose #10890 > > |> fun s => s |> _assert_eq' $'$"{!s.[[0..29]]}{!suffix}"'
00:06:10 verbose #10891 > 00:06:09 debug #534 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/59f767d6efb0d692c7fd73ecebdcb760f924258ddd9b3917f8a8e6ece4d092e8/main.spi
00:06:21 verbose #10892 > >
00:06:21 verbose #10893 > > ╭─[ 11.04s - return value ]────────────────────────────────────────────────────╮
00:06:21 verbose #10894 > > │ assert_eq' / actual: "20240520-1346-4533-9911-000000543210" / expected: │
00:06:21 verbose #10895 > > │ "20240520-1346-4533-9911-000000543210" │
00:06:21 verbose #10896 > > │ │
00:06:21 verbose #10897 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:21 verbose #10898 > >
00:06:21 verbose #10899 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:21 verbose #10900 > > //// test
00:06:21 verbose #10901 > >
00:06:21 verbose #10902 > > types ()
00:06:21 verbose #10903 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x
00:06:21 verbose #10904 > > - 6i32) (am'.End id)
00:06:21 verbose #10905 > > min_value ()
00:06:21 verbose #10906 > > |> specify_date_kind Local
00:06:21 verbose #10907 > > |> date_time_guid_from_date_time (test_guid ())
00:06:21 verbose #10908 > > |> sm'.obj_to_string
00:06:21 verbose #10909 > > |> fun s => s |> _assert_eq'
00:06:21 verbose #10910 > > $'$"00010101-0000-0000-0000-0{!s.[[25..29]]}{!suffix}"'
00:06:21 verbose #10911 > 00:06:20 debug #535 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f381b57e7c652687066e2cb4d2c04b24d05ded5f5ce31ea323301b567491fcfc/main.spi
00:06:21 verbose #10912 > >
00:06:21 verbose #10913 > > ╭─[ 265.68ms - stdout ]────────────────────────────────────────────────────────╮
00:06:21 verbose #10914 > > │ assert_eq' / actual: "00010101-0000-0000-0000-000000543210" / expected: │
00:06:21 verbose #10915 > > │ "00010101-0000-0000-0000-000000543210" │
00:06:21 verbose #10916 > > │ │
00:06:21 verbose #10917 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:21 verbose #10918 > >
00:06:21 verbose #10919 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:21 verbose #10920 > > //// test
00:06:21 verbose #10921 > > ///! rust -d chrono
00:06:21 verbose #10922 > >
00:06:21 verbose #10923 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x
00:06:21 verbose #10924 > > - 6i32) (am'.End id)
00:06:21 verbose #10925 > > types ()
00:06:21 verbose #10926 > > min_value ()
00:06:21 verbose #10927 > > |> specify_date_kind Local
00:06:21 verbose #10928 > > |> date_time_guid_from_date_time (test_guid ())
00:06:21 verbose #10929 > > |> sm'.obj_to_string
00:06:21 verbose #10930 > > |> fun s => s |> _assert_eq'
00:06:21 verbose #10931 > > $'$"00010101-0000-0000-0000-0{!s.[[25..29]]}{!suffix}"'
00:06:21 verbose #10932 > 00:06:20 debug #536 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/03a076432f7a2b8880755f7b74e360a3b9a4f36c05e125284d04b65d6216930d/main.spi
00:06:32 verbose #10933 > >
00:06:32 verbose #10934 > > ╭─[ 10.90s - return value ]────────────────────────────────────────────────────╮
00:06:32 verbose #10935 > > │ assert_eq' / actual: "00010101-0000-0000-0000-000000543210" / expected: │
00:06:32 verbose #10936 > > │ "00010101-0000-0000-0000-000000543210" │
00:06:32 verbose #10937 > > │ │
00:06:32 verbose #10938 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:32 verbose #10939 > >
00:06:32 verbose #10940 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:32 verbose #10941 > > //// test
00:06:32 verbose #10942 > >
00:06:32 verbose #10943 > > types ()
00:06:32 verbose #10944 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x
00:06:32 verbose #10945 > > - 6i32) (am'.End id)
00:06:32 verbose #10946 > > max_value ()
00:06:32 verbose #10947 > > |> specify_date_kind Utc
00:06:32 verbose #10948 > > |> add_days -1
00:06:32 verbose #10949 > > |> date_time_guid_from_date_time (test_guid ())
00:06:32 verbose #10950 > > |> sm'.obj_to_string
00:06:32 verbose #10951 > > |> fun s => s |> _assert_eq
00:06:32 verbose #10952 > > $'$"99991230-2359-5999-9999-9{!s.[[25..29]]}{!suffix}"'
00:06:32 verbose #10953 > 00:06:31 debug #537 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3639bf7bd880849a43f349db9141a19a2138994b8164a3508eb6b6293a8664ef/main.spi
00:06:32 verbose #10954 > >
00:06:32 verbose #10955 > > ╭─[ 175.64ms - stdout ]────────────────────────────────────────────────────────╮
00:06:32 verbose #10956 > > │ assert_eq / actual: "99991230-2359-5999-9999-900000543210" / expected: │
00:06:32 verbose #10957 > > │ "99991230-2359-5999-9999-900000543210" │
00:06:32 verbose #10958 > > │ │
00:06:32 verbose #10959 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:32 verbose #10960 > >
00:06:32 verbose #10961 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:32 verbose #10962 > > //// test
00:06:32 verbose #10963 > > ///! rust -d chrono
00:06:32 verbose #10964 > >
00:06:32 verbose #10965 > > types ()
00:06:32 verbose #10966 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x
00:06:32 verbose #10967 > > - 6i32) (am'.End id)
00:06:32 verbose #10968 > > max_value ()
00:06:32 verbose #10969 > > |> specify_date_kind Utc
00:06:32 verbose #10970 > > |> add_days -1
00:06:32 verbose #10971 > > |> date_time_guid_from_date_time (test_guid ())
00:06:32 verbose #10972 > > |> sm'.obj_to_string
00:06:32 verbose #10973 > > |> fun s => s |> _assert_eq
00:06:32 verbose #10974 > > $'$"99991230-2359-5999-9999-0{!s.[[25..29]]}{!suffix}"'
00:06:32 verbose #10975 > 00:06:32 debug #538 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/13d0a1ef0cb0e24407700b9010b5ac679008f1f01a74f871b493db4ce562bb63/main.spi
00:06:43 verbose #10976 > >
00:06:43 verbose #10977 > > ╭─[ 10.88s - return value ]────────────────────────────────────────────────────╮
00:06:43 verbose #10978 > > │ assert_eq / actual: "99991230-2359-5999-9999-000000543210" / expected: │
00:06:43 verbose #10979 > > │ "99991230-2359-5999-9999-000000543210" │
00:06:43 verbose #10980 > > │ │
00:06:43 verbose #10981 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:43 verbose #10982 > >
00:06:43 verbose #10983 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:43 verbose #10984 > > //// test
00:06:43 verbose #10985 > >
00:06:43 verbose #10986 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x
00:06:43 verbose #10987 > > - 6i32) (am'.End id)
00:06:43 verbose #10988 > > unix_epoch ()
00:06:43 verbose #10989 > > |> specify_date_kind Utc
00:06:43 verbose #10990 > > |> add_days 1
00:06:43 verbose #10991 > > |> date_time_guid_from_date_time (test_guid ())
00:06:43 verbose #10992 > > |> sm'.obj_to_string
00:06:43 verbose #10993 > > |> fun s => s |> _assert_eq
00:06:43 verbose #10994 > > $'$"19700102-0000-0000-0000-0{!s.[[25..29]]}{!suffix}"'
00:06:43 verbose #10995 > 00:06:42 debug #539 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8d6289e7e0e1987aa902e724700b8bb69a840ede36e19ba7d379317028f4d70b/main.spi
00:06:43 verbose #10996 > >
00:06:43 verbose #10997 > > ╭─[ 118.18ms - stdout ]────────────────────────────────────────────────────────╮
00:06:43 verbose #10998 > > │ assert_eq / actual: "19700102-0000-0000-0000-000000543210" / expected: │
00:06:43 verbose #10999 > > │ "19700102-0000-0000-0000-000000543210" │
00:06:43 verbose #11000 > > │ │
00:06:43 verbose #11001 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:43 verbose #11002 > >
00:06:43 verbose #11003 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:43 verbose #11004 > > //// test
00:06:43 verbose #11005 > > ///! rust -d chrono
00:06:43 verbose #11006 > >
00:06:43 verbose #11007 > > types ()
00:06:43 verbose #11008 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x
00:06:43 verbose #11009 > > - 6i32) (am'.End id)
00:06:43 verbose #11010 > > unix_epoch ()
00:06:43 verbose #11011 > > |> specify_date_kind Utc
00:06:43 verbose #11012 > > |> add_days 1
00:06:43 verbose #11013 > > |> date_time_guid_from_date_time (test_guid ())
00:06:43 verbose #11014 > > |> sm'.obj_to_string
00:06:43 verbose #11015 > > |> fun s => s |> _assert_eq
00:06:43 verbose #11016 > > $'$"19700102-0000-0000-0000-0{!s.[[25..29]]}{!suffix}"'
00:06:43 verbose #11017 > 00:06:43 debug #540 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/10e36ade82ed1276942fe1512cb0fc5179700e93c4bcf7d9372c00756daa9352/main.spi
00:06:54 verbose #11018 > >
00:06:54 verbose #11019 > > ╭─[ 10.66s - return value ]────────────────────────────────────────────────────╮
00:06:54 verbose #11020 > > │ assert_eq / actual: "19700102-0000-0000-0000-000000543210" / expected: │
00:06:54 verbose #11021 > > │ "19700102-0000-0000-0000-000000543210" │
00:06:54 verbose #11022 > > │ │
00:06:54 verbose #11023 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11024 > >
00:06:54 verbose #11025 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:54 verbose #11026 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:54 verbose #11027 > > │ ## date_time_from_guid │
00:06:54 verbose #11028 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11029 > >
00:06:54 verbose #11030 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11031 > > inl date_time_from_guid (date_time_guid : date_time_guid) =
00:06:54 verbose #11032 > > inl date_time_guid = date_time_guid |> sm'.obj_to_string
00:06:54 verbose #11033 > > inl sm'_replace = join sm'.replace
00:06:54 verbose #11034 > > run_target function
00:06:54 verbose #11035 > > | Rust _ => fun () =>
00:06:54 verbose #11036 > > $'System.DateTime.Parse (!date_time_guid.[[..24]] |> !sm'_replace
00:06:54 verbose #11037 > > "-" "")' : date_time
00:06:54 verbose #11038 > > | _ => fun () => $'System.DateTime.ParseExact (!date_time_guid.[[..24]]
00:06:54 verbose #11039 > > |> !sm'_replace "-" "", "yyyyMMddHHmmssfffffff", null)' : date_time
00:06:54 verbose #11040 > 00:06:53 debug #541 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/06710419ffe2b75f8fdb0b1582802fc926ab68e00cc2e7d5c7a3510c0073a786/main.spi
00:06:54 verbose #11041 > >
00:06:54 verbose #11042 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11043 > > //// test
00:06:54 verbose #11044 > >
00:06:54 verbose #11045 > > date_time_from_guid (guid.new_guid "00010101-0000-0000-0000-0a9876543210")
00:06:54 verbose #11046 > > |> _assert_eq' (min_value ())
00:06:54 verbose #11047 > 00:06:53 debug #542 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/798fe9c46f9de8e59d60ade0ed9d7cd0b0ec6070398cfd3cf4385bd60fbd273e/main.spi
00:06:54 verbose #11048 > >
00:06:54 verbose #11049 > > ╭─[ 102.75ms - stdout ]────────────────────────────────────────────────────────╮
00:06:54 verbose #11050 > > │ assert_eq' / actual: 01/01/0001 00:00:00 / expected: 01/01/0001 00:00:00 │
00:06:54 verbose #11051 > > │ │
00:06:54 verbose #11052 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11053 > >
00:06:54 verbose #11054 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11055 > > //// test
00:06:54 verbose #11056 > >
00:06:54 verbose #11057 > > date_time_from_guid (guid.new_guid $'$"99991231-2359-5999-9999-9{(!test_guid ()
00:06:54 verbose #11058 > > |> string).[[^10..]]}"')
00:06:54 verbose #11059 > > |> _assert_eq' (max_value ())
00:06:54 verbose #11060 > 00:06:53 debug #543 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aafc30adea24146f47d4a63903097597757d8d10ba4e33c4490dfe10e4014a53/main.spi
00:06:54 verbose #11061 > >
00:06:54 verbose #11062 > > ╭─[ 99.35ms - stdout ]─────────────────────────────────────────────────────────╮
00:06:54 verbose #11063 > > │ assert_eq' / actual: 12/31/9999 23:59:59 / expected: 12/31/9999 23:59:59 │
00:06:54 verbose #11064 > > │ │
00:06:54 verbose #11065 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11066 > >
00:06:54 verbose #11067 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11068 > > //// test
00:06:54 verbose #11069 > >
00:06:54 verbose #11070 > > date_time_from_guid (guid.new_guid $'$"19700101-0000-0000-0000-0{(!test_guid ()
00:06:54 verbose #11071 > > |> string).[[^10..]]}"')
00:06:54 verbose #11072 > > |> _assert_eq' $'System.DateTime.UnixEpoch'
00:06:54 verbose #11073 > 00:06:54 debug #544 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5a10d28fb0f13ad722a005d1062e7b364756421a2aec71d2f87e6f0c8f9596ca/main.spi
00:06:54 verbose #11074 > >
00:06:54 verbose #11075 > > ╭─[ 96.93ms - stdout ]─────────────────────────────────────────────────────────╮
00:06:54 verbose #11076 > > │ assert_eq' / actual: 01/01/1970 00:00:00 / expected: 01/01/1970 00:00:00 │
00:06:54 verbose #11077 > > │ │
00:06:54 verbose #11078 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11079 > >
00:06:54 verbose #11080 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:54 verbose #11081 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:54 verbose #11082 > > │ ## timestamp_guid_from_timestamp │
00:06:54 verbose #11083 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11084 > >
00:06:54 verbose #11085 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11086 > > inl timestamp_guid_from_timestamp (guid : guid.guid) (timestamp : timestamp) :
00:06:54 verbose #11087 > > timestamp_guid =
00:06:54 verbose #11088 > > inl guid = guid |> sm'.obj_to_string
00:06:54 verbose #11089 > > inl timestamp = timestamp |> sm'.obj_to_string |> sm'.pad_left 18i32 '0'
00:06:54 verbose #11090 > > $'`timestamp_guid
00:06:54 verbose #11091 > > $"{!timestamp.[[0..7]]}-{!timestamp.[[8..11]]}-{!timestamp.[[12..15]]}-{!timesta
00:06:54 verbose #11092 > > mp.[[16..17]]}{!guid.[[21..]]}"'
00:06:54 verbose #11093 > 00:06:54 debug #545 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5de2ae931f051c80239ee85a9b5e22d198f457da9fb5cdb352bcd46ec1866be7/main.spi
00:06:54 verbose #11094 > >
00:06:54 verbose #11095 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11096 > > //// test
00:06:54 verbose #11097 > >
00:06:54 verbose #11098 > > timestamp_guid_from_timestamp (test_guid ()) (timestamp 0i64)
00:06:54 verbose #11099 > > |> _assert_eq' (guid.new_guid "00000000-0000-0000-00dc-ba9876543210")
00:06:54 verbose #11100 > 00:06:54 debug #546 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0df6bfd55dd5491acd87b83d1f1c21e78f166d18286abf0a2e8d088b68cc5f86/main.spi
00:06:54 verbose #11101 > >
00:06:54 verbose #11102 > > ╭─[ 132.38ms - stdout ]────────────────────────────────────────────────────────╮
00:06:54 verbose #11103 > > │ assert_eq' / actual: 00000000-0000-0000-00dc-ba9876543210 / expected: │
00:06:54 verbose #11104 > > │ 00000000-0000-0000-00dc-ba9876543210 │
00:06:54 verbose #11105 > > │ │
00:06:54 verbose #11106 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11107 > >
00:06:54 verbose #11108 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11109 > > //// test
00:06:54 verbose #11110 > >
00:06:54 verbose #11111 > > timestamp_guid_from_timestamp (test_guid ()) (timestamp 999999999999999999i64)
00:06:54 verbose #11112 > > |> _assert_eq' (guid.new_guid $'$"99999999-9999-9999-99dc-b{(!test_guid () |>
00:06:54 verbose #11113 > > string).[[^10..]]}"')
00:06:54 verbose #11114 > 00:06:54 debug #547 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eff41408b50d42f8e0899f2bdbc062e93ade58346def35531cca9113567ed1d1/main.spi
00:06:54 verbose #11115 > >
00:06:54 verbose #11116 > > ╭─[ 93.74ms - stdout ]─────────────────────────────────────────────────────────╮
00:06:54 verbose #11117 > > │ assert_eq' / actual: 99999999-9999-9999-99dc-ba9876543210 / expected: │
00:06:54 verbose #11118 > > │ 99999999-9999-9999-99dc-ba9876543210 │
00:06:54 verbose #11119 > > │ │
00:06:54 verbose #11120 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11121 > >
00:06:54 verbose #11122 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:54 verbose #11123 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:54 verbose #11124 > > │ ## timestamp_from_guid │
00:06:54 verbose #11125 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:54 verbose #11126 > >
00:06:54 verbose #11127 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11128 > > inl timestamp_from_guid (guid : date_time_guid) : timestamp =
00:06:54 verbose #11129 > > inl guid = guid |> sm'.obj_to_string
00:06:54 verbose #11130 > > $'`i64
00:06:54 verbose #11131 > > $"{!guid.[[0..7]]}{!guid.[[9..12]]}{!guid.[[14..17]]}{!guid.[[19..20]]}"'
00:06:54 verbose #11132 > 00:06:54 debug #548 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0e96cd6230ce53ad97cfc30e91ef1e966d0b8a2ef526c7ec7f73711b4755622c/main.spi
00:06:54 verbose #11133 > >
00:06:54 verbose #11134 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:54 verbose #11135 > > //// test
00:06:54 verbose #11136 > >
00:06:54 verbose #11137 > > timestamp_from_guid (guid.new_guid "00000000-0000-0000-00dc-ba9876543210")
00:06:54 verbose #11138 > > |> _assert_eq (timestamp 0)
00:06:54 verbose #11139 > 00:06:54 debug #549 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/21773623106abfe24307a3134da14feb2cd686bdc5b028973ac549d61324dc3d/main.spi
00:06:55 verbose #11140 > >
00:06:55 verbose #11141 > > ╭─[ 88.11ms - stdout ]─────────────────────────────────────────────────────────╮
00:06:55 verbose #11142 > > │ assert_eq / actual: 0L / expected: 0L │
00:06:55 verbose #11143 > > │ │
00:06:55 verbose #11144 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:55 verbose #11145 > >
00:06:55 verbose #11146 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:55 verbose #11147 > > //// test
00:06:55 verbose #11148 > >
00:06:55 verbose #11149 > > timestamp_from_guid (guid.new_guid $'$"99999999-9999-9999-99{(!test_guid () |>
00:06:55 verbose #11150 > > string).[[^14..]]}"')
00:06:55 verbose #11151 > > |> _assert_eq (timestamp 999999999999999999)
00:06:55 verbose #11152 > 00:06:54 debug #550 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dfe8c07cdd88725228af9e3bcd37471c19df62e944c9d4bdf117bc24c9679904/main.spi
00:06:55 verbose #11153 > >
00:06:55 verbose #11154 > > ╭─[ 90.26ms - stdout ]─────────────────────────────────────────────────────────╮
00:06:55 verbose #11155 > > │ assert_eq / actual: 999999999999999999L / expected: 999999999999999999L │
00:06:55 verbose #11156 > > │ │
00:06:55 verbose #11157 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:55 verbose #11158 > >
00:06:55 verbose #11159 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:55 verbose #11160 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:55 verbose #11161 > > │ ## new_guid_from_date_time │
00:06:55 verbose #11162 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:55 verbose #11163 > >
00:06:55 verbose #11164 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:55 verbose #11165 > > inl new_guid_from_date_time (date_time : date_time) =
00:06:55 verbose #11166 > > inl guid = guid.new_raw_guid ()
00:06:55 verbose #11167 > > date_time_guid_from_date_time guid date_time
00:06:55 verbose #11168 > 00:06:54 debug #551 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9f82b0db83376c89d0fc5e073520b17ec525915d68e58f57fddf7d75149dedbf/main.spi
00:06:55 verbose #11169 > >
00:06:55 verbose #11170 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:55 verbose #11171 > > //// test
00:06:55 verbose #11172 > >
00:06:55 verbose #11173 > > utc_now ()
00:06:55 verbose #11174 > > |> new_guid_from_date_time
00:06:55 verbose #11175 > > |> date_time_from_guid
00:06:55 verbose #11176 > > |> fun date_time => new_time_span date_time (utc_now ()) |> total_seconds |> i32
00:06:55 verbose #11177 > > |> _assert_eq 0
00:06:55 verbose #11178 > 00:06:54 debug #552 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fca88c0156c826ff6c5279f2f4c93e2601bc60f06f2c8cf8d1cdab6a9f28a5fd/main.spi
00:06:55 verbose #11179 > >
00:06:55 verbose #11180 > > ╭─[ 130.65ms - stdout ]────────────────────────────────────────────────────────╮
00:06:55 verbose #11181 > > │ assert_eq / actual: 0 / expected: 0 │
00:06:55 verbose #11182 > > │ │
00:06:55 verbose #11183 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:55 verbose #11184 > >
00:06:55 verbose #11185 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:55 verbose #11186 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:55 verbose #11187 > > │ ## new_guid_from_timestamp │
00:06:55 verbose #11188 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:55 verbose #11189 > >
00:06:55 verbose #11190 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:55 verbose #11191 > > inl new_guid_from_timestamp (timestamp : timestamp) =
00:06:55 verbose #11192 > > inl guid = guid.new_raw_guid ()
00:06:55 verbose #11193 > > timestamp_guid_from_timestamp guid timestamp
00:06:55 verbose #11194 > 00:06:54 debug #553 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/beef4d3e477dd2cf6880841217f9a38838420169038a102d3f384d5b3660bdad/main.spi
00:06:55 verbose #11195 > >
00:06:55 verbose #11196 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:55 verbose #11197 > > //// test
00:06:55 verbose #11198 > >
00:06:55 verbose #11199 > > utc_now ()
00:06:55 verbose #11200 > > |> ticks
00:06:55 verbose #11201 > > |> new_guid_from_timestamp
00:06:55 verbose #11202 > > |> timestamp_from_guid
00:06:55 verbose #11203 > > |> fun (timestamp timestamp) => (timestamp - (utc_now () |> ticks |> fun
00:06:55 verbose #11204 > > (timestamp x) => x)) / 100000i64
00:06:55 verbose #11205 > > |> _assert_eq 0i64
00:06:55 verbose #11206 > 00:06:54 debug #554 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4e20df6e315f0a1d6a475d5516ef5a562f30eea2f0d955cf27b94424cb945ec7/main.spi
00:06:55 verbose #11207 > >
00:06:55 verbose #11208 > > ╭─[ 125.95ms - stdout ]────────────────────────────────────────────────────────╮
00:06:55 verbose #11209 > > │ assert_eq / actual: 0L / expected: 0L │
00:06:55 verbose #11210 > > │ │
00:06:55 verbose #11211 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:55 verbose #11212 > >
00:06:55 verbose #11213 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:55 verbose #11214 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:55 verbose #11215 > > │ ## main │
00:06:55 verbose #11216 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:55 verbose #11217 > >
00:06:55 verbose #11218 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:55 verbose #11219 > > inl main () =
00:06:55 verbose #11220 > > types ()
00:06:55 verbose #11221 > > $"let date_time_guid_from_date_time x = !date_time_guid_from_date_time x" :
00:06:55 verbose #11222 > > ()
00:06:55 verbose #11223 > > $"let date_time_from_guid x = !date_time_from_guid x" : ()
00:06:55 verbose #11224 > > $"let timestamp_guid_from_timestamp x = !timestamp_guid_from_timestamp x" :
00:06:55 verbose #11225 > > ()
00:06:55 verbose #11226 > > $"let timestamp_from_guid x = !timestamp_from_guid x" : ()
00:06:55 verbose #11227 > > $"let new_guid_from_date_time x = !new_guid_from_date_time x" : ()
00:06:55 verbose #11228 > > $"let new_guid_from_timestamp x = !new_guid_from_timestamp x" : ()
00:06:55 verbose #11229 > > $"let format x = !format x" : ()
00:06:55 verbose #11230 > > $"let format_iso8601 x = !format_iso8601 x" : ()
00:06:55 verbose #11231 > 00:06:55 debug #555 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d330352c2b875c6ed21ded273ae11c41e131d4b370f2a22a6f81d5f4bbbef2cb/main.spi
00:06:55 verbose #11232 > 00:00:54 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 44873
00:06:55 verbose #11233 > 00:00:54 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:06:56 verbose #11234 > 00:00:55 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb to html
00:06:56 verbose #11235 > 00:00:55 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:06:56 verbose #11236 > 00:00:55 verbose #7 ! validate(nb)
00:06:56 verbose #11237 > 00:00:55 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:06:56 verbose #11238 > 00:00:55 verbose #9 ! return _pygments_highlight(
00:06:57 verbose #11239 > 00:00:56 verbose #10 ! [NbConvertApp] Writing 388549 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.html
00:06:57 verbose #11240 > 00:00:56 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 902
00:06:57 verbose #11241 > 00:00:56 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 902
00:06:57 verbose #11242 > 00:00:56 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:06:57 verbose #11243 > 00:00:56 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:06:57 verbose #11244 > 00:00:56 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:06:57 verbose #11245 > 00:00:56 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 45834
00:06:57 debug #11246 execute_with_options_async / exit_code: 0 / output.Length: 49880
00:06:57 debug #15 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path date_time.dib --retries 3
00:06:57 debug #11247 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path math.dib --retries 3",
[||], None, None, true, None)
00:06:57 verbose #11248 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "math.dib", "--retries", "3"])
00:06:57 verbose #11249 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:06:59 verbose #11250 > >
00:06:59 verbose #11251 > > ── markdown ────────────────────────────────────────────────────────────────────
00:06:59 verbose #11252 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:06:59 verbose #11253 > > │ # math │
00:06:59 verbose #11254 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:06:59 verbose #11255 > >
00:06:59 verbose #11256 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:06:59 verbose #11257 > > //// test
00:06:59 verbose #11258 > >
00:06:59 verbose #11259 > > open testing
00:06:59 verbose #11260 > >
00:06:59 verbose #11261 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:06:59 verbose #11262 > > #r
00:06:59 verbose #11263 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:06:59 verbose #11264 > > Net.Interactive.Spiral.dll"
00:06:59 verbose #11265 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:06:59 verbose #11266 > > #r
00:06:59 verbose #11267 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:06:59 verbose #11268 > > Net.Interactive.dll"
00:06:59 verbose #11269 > > open type Microsoft.DotNet.Interactive.Kernel
00:07:01 verbose #11270 > >
00:07:01 verbose #11271 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:01 verbose #11272 > > //// test
00:07:01 verbose #11273 > >
00:07:01 verbose #11274 > > 2 * 2 / 0.4f64 |> sqrt
00:07:01 verbose #11275 > > |> _assert_approx_eq None 3.1622776601683795
00:07:01 verbose #11276 > 00:07:01 debug #556 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ebdf28a97fa86cafc3ccda8796a3b49cf68066337eb3a90ba6a1b9846fa90091/main.spi
00:07:02 verbose #11277 > >
00:07:02 verbose #11278 > > ╭─[ 799.07ms - stdout ]────────────────────────────────────────────────────────╮
00:07:02 verbose #11279 > > │ assert_approx_eq / actual: 3.16227766 / expected: 3.16227766 │
00:07:02 verbose #11280 > > │ │
00:07:02 verbose #11281 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11282 > >
00:07:02 verbose #11283 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11284 > > //// test
00:07:02 verbose #11285 > >
00:07:02 verbose #11286 > > 2f64 / 3
00:07:02 verbose #11287 > > |> _assert_approx_eq None 0.6666666666666666
00:07:02 verbose #11288 > 00:07:02 debug #557 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cda5fcb6b71a9936ba55723dbbdf754bf5398e07f318522df079ce7ef9518d3b/main.spi
00:07:02 verbose #11289 > >
00:07:02 verbose #11290 > > ╭─[ 75.90ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:02 verbose #11291 > > │ assert_approx_eq / actual: 0.6666666667 / expected: 0.6666666667 │
00:07:02 verbose #11292 > > │ │
00:07:02 verbose #11293 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11294 > >
00:07:02 verbose #11295 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11296 > > //// test
00:07:02 verbose #11297 > >
00:07:02 verbose #11298 > > 2f64 |> log
00:07:02 verbose #11299 > > |> _assert_approx_eq None 0.6931471805599453
00:07:02 verbose #11300 > 00:07:02 debug #558 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a9d32c9a97cb46b5ddcb2337e32289c16f3f8fa7c97cb92a01c7863481b60178/main.spi
00:07:02 verbose #11301 > >
00:07:02 verbose #11302 > > ╭─[ 70.24ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:02 verbose #11303 > > │ assert_approx_eq / actual: 0.6931471806 / expected: 0.6931471806 │
00:07:02 verbose #11304 > > │ │
00:07:02 verbose #11305 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11306 > >
00:07:02 verbose #11307 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11308 > > //// test
00:07:02 verbose #11309 > >
00:07:02 verbose #11310 > > pi
00:07:02 verbose #11311 > > |> _assert_approx_eq None 3.141592653589793f64
00:07:02 verbose #11312 > 00:07:02 debug #559 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/97c4d2964b4d5b929e4461b5be168ccf5fc123a0f87addffbb3bce13c81d6785/main.spi
00:07:02 verbose #11313 > >
00:07:02 verbose #11314 > > ╭─[ 69.75ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:02 verbose #11315 > > │ assert_approx_eq / actual: 3.141592654 / expected: 3.141592654 │
00:07:02 verbose #11316 > > │ │
00:07:02 verbose #11317 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11318 > >
00:07:02 verbose #11319 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11320 > > //// test
00:07:02 verbose #11321 > >
00:07:02 verbose #11322 > > pi |> cos
00:07:02 verbose #11323 > > |> _assert_eq -1f64
00:07:02 verbose #11324 > 00:07:02 debug #560 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ff460980a3f2839ac0a19c37e15b7360561b5d9cb60667f25cf193b677a8456d/main.spi
00:07:02 verbose #11325 > >
00:07:02 verbose #11326 > > ╭─[ 82.51ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:02 verbose #11327 > > │ assert_eq / actual: -1.0 / expected: -1.0 │
00:07:02 verbose #11328 > > │ │
00:07:02 verbose #11329 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11330 > >
00:07:02 verbose #11331 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11332 > > //// test
00:07:02 verbose #11333 > >
00:07:02 verbose #11334 > > pi
00:07:02 verbose #11335 > > |> cos
00:07:02 verbose #11336 > > |> fun n => n / 2f64
00:07:02 verbose #11337 > > |> _assert_approx_eq None -0.5
00:07:02 verbose #11338 > 00:07:02 debug #561 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/be394683864ee4c540b6dc6dc56d12d71b082bddb313026d4df08911c58e9cdb/main.spi
00:07:02 verbose #11339 > >
00:07:02 verbose #11340 > > ╭─[ 71.28ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:02 verbose #11341 > > │ assert_approx_eq / actual: -0.5 / expected: -0.5 │
00:07:02 verbose #11342 > > │ │
00:07:02 verbose #11343 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11344 > >
00:07:02 verbose #11345 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11346 > > //// test
00:07:02 verbose #11347 > >
00:07:02 verbose #11348 > > pi / 2 |> cos
00:07:02 verbose #11349 > > |> _assert_approx_eq None 0.00000000000000006123233995736766f64
00:07:02 verbose #11350 > 00:07:02 debug #562 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/13d3c6374bd2e0bb9ec31cc8c4e69feecd99ca5a7e0fdec375d5405b570a05fd/main.spi
00:07:02 verbose #11351 > >
00:07:02 verbose #11352 > > ╭─[ 71.70ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:02 verbose #11353 > > │ assert_approx_eq / actual: 6.123233996e-17 / expected: 6.123233996e-17 │
00:07:02 verbose #11354 > > │ │
00:07:02 verbose #11355 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11356 > >
00:07:02 verbose #11357 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:02 verbose #11358 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:02 verbose #11359 > > │ ## atan2 │
00:07:02 verbose #11360 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:02 verbose #11361 > >
00:07:02 verbose #11362 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11363 > > inl atan2 (y : f64) (x : f64) =
00:07:02 verbose #11364 > > $"System.Math.Atan2 (!y, !x)" : f64
00:07:02 verbose #11365 > 00:07:02 debug #563 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5454c48b0a1017da48af4acdcd579cfa516238b84d7b4606e358c7d5cec42511/main.spi
00:07:02 verbose #11366 > >
00:07:02 verbose #11367 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:02 verbose #11368 > > //// test
00:07:02 verbose #11369 > >
00:07:02 verbose #11370 > > 0 |> atan2 1
00:07:02 verbose #11371 > > |> _assert_eq 1.5707963267948966
00:07:03 verbose #11372 > 00:07:02 debug #564 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e796179e6ccabdcc9d8778ae76c7a0b900e51d36b4f90f7bae0507d1088e4cfc/main.spi
00:07:03 verbose #11373 > >
00:07:03 verbose #11374 > > ╭─[ 149.65ms - stdout ]────────────────────────────────────────────────────────╮
00:07:03 verbose #11375 > > │ assert_eq / actual: 1.570796327 / expected: 1.570796327 │
00:07:03 verbose #11376 > > │ │
00:07:03 verbose #11377 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11378 > >
00:07:03 verbose #11379 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:03 verbose #11380 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:03 verbose #11381 > > │ ## e │
00:07:03 verbose #11382 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11383 > >
00:07:03 verbose #11384 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11385 > > inl e () =
00:07:03 verbose #11386 > > exp 1f64
00:07:03 verbose #11387 > 00:07:02 debug #565 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/58c299122d4b703b5825c428af9af3ca31bf015ff071ff08181314a5d25c100a/main.spi
00:07:03 verbose #11388 > >
00:07:03 verbose #11389 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:03 verbose #11390 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:03 verbose #11391 > > │ ## floor │
00:07:03 verbose #11392 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11393 > >
00:07:03 verbose #11394 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11395 > > inl floor forall t {float}. (n : t) : t =
00:07:03 verbose #11396 > > n |> $'floor'
00:07:03 verbose #11397 > 00:07:02 debug #566 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c20ddaacb5067eaf3f54687aa0368a10585e12cdd3cde266b24c7763aeec8774/main.spi
00:07:03 verbose #11398 > >
00:07:03 verbose #11399 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11400 > > //// test
00:07:03 verbose #11401 > >
00:07:03 verbose #11402 > > 0.6 |> floor
00:07:03 verbose #11403 > > |> _assert_eq 0f64
00:07:03 verbose #11404 > 00:07:02 debug #567 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0223b2543fc00ff82c3608273451651a8239269aebbc5ecae13542508c2516fb/main.spi
00:07:03 verbose #11405 > >
00:07:03 verbose #11406 > > ╭─[ 108.39ms - stdout ]────────────────────────────────────────────────────────╮
00:07:03 verbose #11407 > > │ assert_eq / actual: 0.0 / expected: 0.0 │
00:07:03 verbose #11408 > > │ │
00:07:03 verbose #11409 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11410 > >
00:07:03 verbose #11411 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:03 verbose #11412 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:03 verbose #11413 > > │ ## ceil │
00:07:03 verbose #11414 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11415 > >
00:07:03 verbose #11416 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11417 > > inl ceil forall t {float}. (n : t) : t =
00:07:03 verbose #11418 > > n |> $'ceil'
00:07:03 verbose #11419 > 00:07:02 debug #568 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/87d6a1efd939c986a12af4c0deaea4f06551c664c0a9649cd40ee2c65f44905e/main.spi
00:07:03 verbose #11420 > >
00:07:03 verbose #11421 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11422 > > //// test
00:07:03 verbose #11423 > >
00:07:03 verbose #11424 > > 0.6 |> ceil
00:07:03 verbose #11425 > > |> _assert_eq 1f64
00:07:03 verbose #11426 > 00:07:03 debug #569 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d425c94db1404487d453d86625ad5a4f269838ab84f327580784f5eaec2693cf/main.spi
00:07:03 verbose #11427 > >
00:07:03 verbose #11428 > > ╭─[ 74.86ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:03 verbose #11429 > > │ assert_eq / actual: 1.0 / expected: 1.0 │
00:07:03 verbose #11430 > > │ │
00:07:03 verbose #11431 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11432 > >
00:07:03 verbose #11433 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:03 verbose #11434 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:03 verbose #11435 > > │ ## round │
00:07:03 verbose #11436 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11437 > >
00:07:03 verbose #11438 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11439 > > inl round forall t {float}. (n : t) : t =
00:07:03 verbose #11440 > > n |> $'round'
00:07:03 verbose #11441 > 00:07:03 debug #570 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c230b70545f40fc781f11d7514cc5273669648fc62a00941d4d8f93cd31b772a/main.spi
00:07:03 verbose #11442 > >
00:07:03 verbose #11443 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11444 > > //// test
00:07:03 verbose #11445 > >
00:07:03 verbose #11446 > > 0.5 |> round
00:07:03 verbose #11447 > > |> _assert_eq 0f64
00:07:03 verbose #11448 > >
00:07:03 verbose #11449 > > 1.5 |> round
00:07:03 verbose #11450 > > |> _assert_eq 2f64
00:07:03 verbose #11451 > >
00:07:03 verbose #11452 > > 2.5 |> round
00:07:03 verbose #11453 > > |> _assert_eq 2f64
00:07:03 verbose #11454 > >
00:07:03 verbose #11455 > > 3.5 |> round
00:07:03 verbose #11456 > > |> _assert_eq 4f64
00:07:03 verbose #11457 > 00:07:03 debug #571 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/08528633fca4cda2eac091c9cb2343eccda74c15ac65687ff98a9c0416ade7f0/main.spi
00:07:03 verbose #11458 > >
00:07:03 verbose #11459 > > ╭─[ 199.07ms - stdout ]────────────────────────────────────────────────────────╮
00:07:03 verbose #11460 > > │ assert_eq / actual: 0.0 / expected: 0.0 │
00:07:03 verbose #11461 > > │ assert_eq / actual: 2.0 / expected: 2.0 │
00:07:03 verbose #11462 > > │ assert_eq / actual: 2.0 / expected: 2.0 │
00:07:03 verbose #11463 > > │ assert_eq / actual: 4.0 / expected: 4.0 │
00:07:03 verbose #11464 > > │ │
00:07:03 verbose #11465 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11466 > >
00:07:03 verbose #11467 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:03 verbose #11468 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:03 verbose #11469 > > │ ## log_base │
00:07:03 verbose #11470 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:03 verbose #11471 > >
00:07:03 verbose #11472 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11473 > > inl log_base (new_base : f64) (a : f64) =
00:07:03 verbose #11474 > > $"System.Math.Log (!a, !new_base)" : f64
00:07:03 verbose #11475 > 00:07:03 debug #572 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fe1ccdd63aea64d1432869f32423750283a1b6e989071d995f4bbc71eb1739dc/main.spi
00:07:03 verbose #11476 > >
00:07:03 verbose #11477 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:03 verbose #11478 > > //// test
00:07:03 verbose #11479 > >
00:07:03 verbose #11480 > > 100 |> log_base 10
00:07:03 verbose #11481 > > |> _assert_eq 2
00:07:03 verbose #11482 > 00:07:03 debug #573 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4cbd516b4dd34f3c14e79adf99f3554a5c04e0a69f2f8b4d9062fa6408d1c662/main.spi
00:07:04 verbose #11483 > >
00:07:04 verbose #11484 > > ╭─[ 490.62ms - stdout ]────────────────────────────────────────────────────────╮
00:07:04 verbose #11485 > > │ assert_eq / actual: 2.0 / expected: 2.0 │
00:07:04 verbose #11486 > > │ │
00:07:04 verbose #11487 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:04 verbose #11488 > >
00:07:04 verbose #11489 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:04 verbose #11490 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:04 verbose #11491 > > │ ## round │
00:07:04 verbose #11492 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:04 verbose #11493 > >
00:07:04 verbose #11494 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:04 verbose #11495 > > inl round forall t {float}. (x : t) : t =
00:07:04 verbose #11496 > > $"round !x"
00:07:04 verbose #11497 > 00:07:03 debug #574 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ea03abe285ff80eb96569cc7a8e851ffdcb07aa8697f574edb1d83a6e8d0423b/main.spi
00:07:04 verbose #11498 > >
00:07:04 verbose #11499 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:04 verbose #11500 > > //// test
00:07:04 verbose #11501 > >
00:07:04 verbose #11502 > > 0.5 |> round
00:07:04 verbose #11503 > > |> _assert_eq 0f64
00:07:04 verbose #11504 > 00:07:04 debug #575 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a22f6a69701c39fc60108ac676053e61bd2fdc7de21a04f67c490d0b112929a5/main.spi
00:07:04 verbose #11505 > >
00:07:04 verbose #11506 > > ╭─[ 101.32ms - stdout ]────────────────────────────────────────────────────────╮
00:07:04 verbose #11507 > > │ assert_eq / actual: 0.0 / expected: 0.0 │
00:07:04 verbose #11508 > > │ │
00:07:04 verbose #11509 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:04 verbose #11510 > >
00:07:04 verbose #11511 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:04 verbose #11512 > > //// test
00:07:04 verbose #11513 > >
00:07:04 verbose #11514 > > 0.6 |> round
00:07:04 verbose #11515 > > |> _assert_eq 1f64
00:07:04 verbose #11516 > 00:07:04 debug #576 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/74044858f29459e741694fcef7286863af97ba2f1861608aa6273e0e33d5777c/main.spi
00:07:04 verbose #11517 > >
00:07:04 verbose #11518 > > ╭─[ 77.22ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:04 verbose #11519 > > │ assert_eq / actual: 1.0 / expected: 1.0 │
00:07:04 verbose #11520 > > │ │
00:07:04 verbose #11521 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:04 verbose #11522 > >
00:07:04 verbose #11523 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:04 verbose #11524 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:04 verbose #11525 > > │ ## square │
00:07:04 verbose #11526 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:04 verbose #11527 > >
00:07:04 verbose #11528 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:04 verbose #11529 > > inl square x =
00:07:04 verbose #11530 > > x ** 2
00:07:04 verbose #11531 > 00:07:04 debug #577 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2c9263637b506ad956889ae7dc41a7c1cc8bdfa5ade424803b3faff68cadecd8/main.spi
00:07:04 verbose #11532 > >
00:07:04 verbose #11533 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:04 verbose #11534 > > //// test
00:07:04 verbose #11535 > >
00:07:04 verbose #11536 > > 5f64
00:07:04 verbose #11537 > > |> sqrt
00:07:04 verbose #11538 > > |> square
00:07:04 verbose #11539 > > |> _assert_approx_eq None 5
00:07:04 verbose #11540 > 00:07:04 debug #578 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4e7292fc7d34c9a99c0703ea91ce963f633618e2919b1955a8b44b74777790c6/main.spi
00:07:04 verbose #11541 > >
00:07:04 verbose #11542 > > ╭─[ 72.73ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:04 verbose #11543 > > │ assert_approx_eq / actual: 5.0 / expected: 5.0 │
00:07:04 verbose #11544 > > │ │
00:07:04 verbose #11545 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:04 verbose #11546 > >
00:07:04 verbose #11547 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:04 verbose #11548 > > //// test
00:07:04 verbose #11549 > >
00:07:04 verbose #11550 > > e () |> square
00:07:04 verbose #11551 > > |> _assert_approx_eq None 7.3890560989306495
00:07:04 verbose #11552 > 00:07:04 debug #579 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b9e73bd3e761005c3edfda2cbdb0f246708e23cc64545293cad0b84402d14d93/main.spi
00:07:04 verbose #11553 > >
00:07:04 verbose #11554 > > ╭─[ 73.27ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:04 verbose #11555 > > │ assert_approx_eq / actual: 7.389056099 / expected: 7.389056099 │
00:07:04 verbose #11556 > > │ │
00:07:04 verbose #11557 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:04 verbose #11558 > 00:00:07 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 14710
00:07:04 verbose #11559 > 00:00:07 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:07:05 verbose #11560 > 00:00:07 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb to html
00:07:05 verbose #11561 > 00:00:07 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:07:05 verbose #11562 > 00:00:07 verbose #7 ! validate(nb)
00:07:05 verbose #11563 > 00:00:08 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:07:05 verbose #11564 > 00:00:08 verbose #9 ! return _pygments_highlight(
00:07:06 verbose #11565 > 00:00:08 verbose #10 ! [NbConvertApp] Writing 303734 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/math.dib.html
00:07:06 verbose #11566 > 00:00:08 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 892
00:07:06 verbose #11567 > 00:00:08 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 892
00:07:06 verbose #11568 > 00:00:08 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:07:06 verbose #11569 > 00:00:08 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:07:06 verbose #11570 > 00:00:08 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:07:06 verbose #11571 > 00:00:08 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 15661
00:07:06 debug #11572 execute_with_options_async / exit_code: 0 / output.Length: 18606
00:07:06 debug #16 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path math.dib --retries 3
00:07:06 debug #11573 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path optionm'.dib --retries 3",
[||], None, None, true, None)
00:07:06 verbose #11574 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "optionm'.dib", "--retries", "3"])
00:07:06 verbose #11575 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:07:07 verbose #11576 > >
00:07:07 verbose #11577 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:07 verbose #11578 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:07 verbose #11579 > > │ # optionm │
00:07:07 verbose #11580 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:07 verbose #11581 > >
00:07:07 verbose #11582 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:07 verbose #11583 > > //// test
00:07:07 verbose #11584 > >
00:07:07 verbose #11585 > > open testing
00:07:07 verbose #11586 > >
00:07:07 verbose #11587 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:07:07 verbose #11588 > > #r
00:07:07 verbose #11589 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:07:07 verbose #11590 > > Net.Interactive.Spiral.dll"
00:07:07 verbose #11591 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:07:07 verbose #11592 > > #r
00:07:07 verbose #11593 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:07:07 verbose #11594 > > Net.Interactive.dll"
00:07:07 verbose #11595 > > open type Microsoft.DotNet.Interactive.Kernel
00:07:10 verbose #11596 > >
00:07:10 verbose #11597 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:10 verbose #11598 > > open rust_operators
00:07:10 verbose #11599 > >
00:07:10 verbose #11600 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:10 verbose #11601 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:10 verbose #11602 > > │ ## default_value │
00:07:10 verbose #11603 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:10 verbose #11604 > >
00:07:10 verbose #11605 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:10 verbose #11606 > > inl default_value d =
00:07:10 verbose #11607 > > optionm.defaultWith d
00:07:10 verbose #11608 > 00:07:10 debug #580 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8fcc5f5ae0b01bdead2af4e9c273565bd45048a529623b91b6d69ffcdc46b410/main.spi
00:07:10 verbose #11609 > >
00:07:10 verbose #11610 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:10 verbose #11611 > > //// test
00:07:10 verbose #11612 > >
00:07:10 verbose #11613 > > None
00:07:10 verbose #11614 > > |> default_value 3i32
00:07:10 verbose #11615 > > |> _assert_eq 3i32
00:07:11 verbose #11616 > 00:07:10 debug #581 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3279db906780203629f900f7daedd6c1857fc100744a0cb0d94a15875b7f85f5/main.spi
00:07:11 verbose #11617 > >
00:07:11 verbose #11618 > > ╭─[ 458.33ms - stdout ]────────────────────────────────────────────────────────╮
00:07:11 verbose #11619 > > │ assert_eq / actual: 3 / expected: 3 │
00:07:11 verbose #11620 > > │ │
00:07:11 verbose #11621 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:11 verbose #11622 > >
00:07:11 verbose #11623 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:11 verbose #11624 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:11 verbose #11625 > > │ ## (/??) │
00:07:11 verbose #11626 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:11 verbose #11627 > >
00:07:11 verbose #11628 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:11 verbose #11629 > > inl (/??) a b =
00:07:11 verbose #11630 > > a |> default_value b
00:07:11 verbose #11631 > 00:07:11 debug #582 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/50c4174fa169965e708dc23796f42fefbd13fe4ba1516feb6a1fe8eedbbad579/main.spi
00:07:11 verbose #11632 > >
00:07:11 verbose #11633 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:11 verbose #11634 > > //// test
00:07:11 verbose #11635 > >
00:07:11 verbose #11636 > > None /?? 3i32
00:07:11 verbose #11637 > > |> _assert_eq 3i32
00:07:11 verbose #11638 > 00:07:11 debug #583 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0d00c1b930d35403836b7988aaef1e569dfc88fb29a3c9ee9de7f342d420864f/main.spi
00:07:11 verbose #11639 > >
00:07:11 verbose #11640 > > ╭─[ 70.01ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:11 verbose #11641 > > │ assert_eq / actual: 3 / expected: 3 │
00:07:11 verbose #11642 > > │ │
00:07:11 verbose #11643 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:11 verbose #11644 > >
00:07:11 verbose #11645 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:11 verbose #11646 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:11 verbose #11647 > > │ ## default_with │
00:07:11 verbose #11648 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:11 verbose #11649 > >
00:07:11 verbose #11650 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:11 verbose #11651 > > inl default_with fn = function
00:07:11 verbose #11652 > > | Some x => x
00:07:11 verbose #11653 > > | None => fn ()
00:07:11 verbose #11654 > 00:07:11 debug #584 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e413f2063ec953ce87fd1e37f803740883565775b56a1f5dbbe63ead1b826556/main.spi
00:07:11 verbose #11655 > >
00:07:11 verbose #11656 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:11 verbose #11657 > > //// test
00:07:11 verbose #11658 > >
00:07:11 verbose #11659 > > None
00:07:11 verbose #11660 > > |> default_with fun () => 3i32
00:07:11 verbose #11661 > > |> _assert_eq 3i32
00:07:11 verbose #11662 > 00:07:11 debug #585 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ebf4292c9083146aa118b1f0280c8b6a855c52cff60e752ec53b692b41714e66/main.spi
00:07:11 verbose #11663 > >
00:07:11 verbose #11664 > > ╭─[ 71.57ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:11 verbose #11665 > > │ assert_eq / actual: 3 / expected: 3 │
00:07:11 verbose #11666 > > │ │
00:07:11 verbose #11667 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:11 verbose #11668 > >
00:07:11 verbose #11669 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:11 verbose #11670 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:11 verbose #11671 > > │ ## choose │
00:07:11 verbose #11672 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:11 verbose #11673 > >
00:07:11 verbose #11674 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:11 verbose #11675 > > inl choose fn a b =
00:07:11 verbose #11676 > > match a, b with
00:07:11 verbose #11677 > > | Some x, Some y => fn x y |> Some
00:07:11 verbose #11678 > > | _ => None
00:07:11 verbose #11679 > 00:07:11 debug #586 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6d68d6cb6f83b48423801a62551067be1fb902399cadb80f03fee2a3ae115f85/main.spi
00:07:11 verbose #11680 > >
00:07:11 verbose #11681 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:11 verbose #11682 > > //// test
00:07:11 verbose #11683 > >
00:07:11 verbose #11684 > > (Some 2i32, Some 3)
00:07:11 verbose #11685 > > ||> choose (+)
00:07:11 verbose #11686 > > |> _assert_eq (Some 5)
00:07:11 verbose #11687 > 00:07:11 debug #587 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5cb2f837bdd4e4512d3a71ec92818d0147001170862e99cc4e1abc3f7f956c71/main.spi
00:07:12 verbose #11688 > >
00:07:12 verbose #11689 > > ╭─[ 392.74ms - stdout ]────────────────────────────────────────────────────────╮
00:07:12 verbose #11690 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │
00:07:12 verbose #11691 > > │ │
00:07:12 verbose #11692 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11693 > >
00:07:12 verbose #11694 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11695 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11696 > > │ ## iter │
00:07:12 verbose #11697 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11698 > >
00:07:12 verbose #11699 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11700 > > inl iter fn = function
00:07:12 verbose #11701 > > | Some x => fn x
00:07:12 verbose #11702 > > | None => ()
00:07:12 verbose #11703 > 00:07:11 debug #588 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0017930852518520ab256e1bd940ffb564ceed8b11fa4d875357fc8d641a71c0/main.spi
00:07:12 verbose #11704 > >
00:07:12 verbose #11705 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11706 > > //// test
00:07:12 verbose #11707 > >
00:07:12 verbose #11708 > > inl n = mut 1i32
00:07:12 verbose #11709 > > inl fn =
00:07:12 verbose #11710 > > fun n' =>
00:07:12 verbose #11711 > > n <- *n + n'
00:07:12 verbose #11712 > > Some 1i32 |> iter fn
00:07:12 verbose #11713 > > None |> iter fn
00:07:12 verbose #11714 > > *n
00:07:12 verbose #11715 > > |> _assert_eq 2i32
00:07:12 verbose #11716 > 00:07:11 debug #589 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fce369923db8e0196809d4c1060a8fdab7a9fad340eb14760f2daff68c49e47b/main.spi
00:07:12 verbose #11717 > >
00:07:12 verbose #11718 > > ╭─[ 183.62ms - stdout ]────────────────────────────────────────────────────────╮
00:07:12 verbose #11719 > > │ assert_eq / actual: 2 / expected: 2 │
00:07:12 verbose #11720 > > │ │
00:07:12 verbose #11721 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11722 > >
00:07:12 verbose #11723 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11724 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11725 > > │ ## option' │
00:07:12 verbose #11726 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11727 > >
00:07:12 verbose #11728 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11729 > > nominal option' t = $"`t option"
00:07:12 verbose #11730 > 00:07:12 debug #590 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f0a2dda8d3d9b1d95d990c830b9339e065fa182c9c44716bb6c4fde61679f98f/main.spi
00:07:12 verbose #11731 > >
00:07:12 verbose #11732 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11733 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11734 > > │ ## none' │
00:07:12 verbose #11735 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11736 > >
00:07:12 verbose #11737 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11738 > > inl none' forall t. () : option' t =
00:07:12 verbose #11739 > > $'None'
00:07:12 verbose #11740 > 00:07:12 debug #591 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e7bcdc378c498a90e5f363e613f903604ec15b1466f4b9813f172f700caaf69c/main.spi
00:07:12 verbose #11741 > >
00:07:12 verbose #11742 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11743 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11744 > > │ ## some' │
00:07:12 verbose #11745 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11746 > >
00:07:12 verbose #11747 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11748 > > inl some' forall t. (x : t) : option' t =
00:07:12 verbose #11749 > > $'Some !x '
00:07:12 verbose #11750 > 00:07:12 debug #592 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c59812215a4bc09bbcb4b7e60aaee568d6cf462d1e4ba0b754dcf140e84b58fe/main.spi
00:07:12 verbose #11751 > >
00:07:12 verbose #11752 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11753 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11754 > > │ ## default_value' │
00:07:12 verbose #11755 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11756 > >
00:07:12 verbose #11757 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11758 > > inl default_value' forall t. (value : t) (x : option' t) : t =
00:07:12 verbose #11759 > > $'!x |> Option.defaultValue !value '
00:07:12 verbose #11760 > 00:07:12 debug #593 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3b93659a506a94382d3c3a6617768404f54914f0fea9c7f30344de7ded31a773/main.spi
00:07:12 verbose #11761 > >
00:07:12 verbose #11762 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11763 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11764 > > │ ## try' │
00:07:12 verbose #11765 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11766 > >
00:07:12 verbose #11767 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11768 > > inl try' forall t. (x : option' t) : t =
00:07:12 verbose #11769 > > !\\(x, $'"$0?"')
00:07:12 verbose #11770 > 00:07:12 debug #594 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ab541d38a392554ce608cd46427cc0a64f157fc040c4dd8d02277620a374e6b8/main.spi
00:07:12 verbose #11771 > >
00:07:12 verbose #11772 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11773 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11774 > > │ ## map │
00:07:12 verbose #11775 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11776 > >
00:07:12 verbose #11777 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11778 > > inl map forall t u. (fn : t -> u) (x : option' t) : option' u =
00:07:12 verbose #11779 > > inl result : option' u = none' ()
00:07:12 verbose #11780 > > $'let _!result = ref !result '
00:07:12 verbose #11781 > > $'match !x with'
00:07:12 verbose #11782 > > $'| Some x -> ('
00:07:12 verbose #11783 > > $'(fun () ->'
00:07:12 verbose #11784 > > $'(fun () ->'
00:07:12 verbose #11785 > > inl x = dyn $'x'
00:07:12 verbose #11786 > > x |> fn |> emit_unit
00:07:12 verbose #11787 > > $')'
00:07:12 verbose #11788 > > $"|> fun x -> x () |> Some"
00:07:12 verbose #11789 > > $') () ) | None -> None'
00:07:12 verbose #11790 > > $"|> fun x -> _!result.Value <- x"
00:07:12 verbose #11791 > > $'_!result.Value '
00:07:12 verbose #11792 > 00:07:12 debug #595 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b8e50ff8ae6fc45a94303d7163e26bf3b077fd35f454bcc927654d5025f1e340/main.spi
00:07:12 verbose #11793 > >
00:07:12 verbose #11794 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:12 verbose #11795 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:12 verbose #11796 > > │ ## box │
00:07:12 verbose #11797 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:12 verbose #11798 > >
00:07:12 verbose #11799 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:12 verbose #11800 > > inl box forall t. (x : option t) : option' t =
00:07:12 verbose #11801 > > // x
00:07:12 verbose #11802 > > // |> optionm.map some'
00:07:12 verbose #11803 > > // |> default_with none'
00:07:12 verbose #11804 > > match x with
00:07:12 verbose #11805 > > | Some x => some' x
00:07:12 verbose #11806 > > | None => none' ()
00:07:12 verbose #11807 > 00:07:12 debug #596 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f882a9dc7ff827fb8a264950b34191d83ffb5d60978aea0612ca1b1a23dd20a6/main.spi
00:07:13 verbose #11808 > >
00:07:13 verbose #11809 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:13 verbose #11810 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:13 verbose #11811 > > │ ## map' │
00:07:13 verbose #11812 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:13 verbose #11813 > >
00:07:13 verbose #11814 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:13 verbose #11815 > > inl map' forall t u. (fn : t -> u) (x : option' t) : option' u =
00:07:13 verbose #11816 > > (!\($'"true; let _result = !x.map(|x| { //"') : bool) |> ignore
00:07:13 verbose #11817 > > (!\\(fn !\($'"x"'), $'"true; $0 })"') : bool) |> ignore
00:07:13 verbose #11818 > > !\($'"_result"')
00:07:13 verbose #11819 > 00:07:12 debug #597 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f217e99ba2e0dfad3486066cbd535c1a02977c33284a3f22bcd2e612f981b683/main.spi
00:07:13 verbose #11820 > >
00:07:13 verbose #11821 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:13 verbose #11822 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:13 verbose #11823 > > │ ## map'' │
00:07:13 verbose #11824 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:13 verbose #11825 > >
00:07:13 verbose #11826 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:13 verbose #11827 > > inl map'' forall t u. (fn : t -> u) (x : option' t) : option' u =
00:07:13 verbose #11828 > > $'!x |> Option.map !fn '
00:07:13 verbose #11829 > 00:07:12 debug #598 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4323dbb6c47ceba532861702e525cdfac5fa85e58457c83d17b78bd98cb83093/main.spi
00:07:13 verbose #11830 > >
00:07:13 verbose #11831 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:13 verbose #11832 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:13 verbose #11833 > > │ ## unbox │
00:07:13 verbose #11834 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:13 verbose #11835 > >
00:07:13 verbose #11836 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:13 verbose #11837 > > inl unbox forall t. (x : option' t) : option t =
00:07:13 verbose #11838 > > x |> map Some |> default_value' None
00:07:13 verbose #11839 > > // inl some x : option t = Some x
00:07:13 verbose #11840 > > // inl some = join some
00:07:13 verbose #11841 > > // inl none : option t = None
00:07:13 verbose #11842 > > // $'!x |> Option.map !some |> Option.defaultValue !none '
00:07:13 verbose #11843 > 00:07:12 debug #599 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4615179a88dd9c03888e0d5ce1ddd53d88c7a3488b9cd7fdf5faec18a9b12219/main.spi
00:07:13 verbose #11844 > >
00:07:13 verbose #11845 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:13 verbose #11846 > > //// test
00:07:13 verbose #11847 > >
00:07:13 verbose #11848 > > inl x = Some 3i32
00:07:13 verbose #11849 > > inl y : option i32 = None
00:07:13 verbose #11850 > > inl x' = x |> box |> unbox
00:07:13 verbose #11851 > > inl y' = y |> box |> map id |> unbox
00:07:13 verbose #11852 > > (x', y') |> _assert_eq (x, y)
00:07:13 verbose #11853 > 00:07:12 debug #600 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/be6f6aa542f131fde1c218e1f6e733f5594dcff572cdb9b1262e7e4aea38baa8/main.spi
00:07:13 verbose #11854 > >
00:07:13 verbose #11855 > > ╭─[ 164.95ms - stdout ]────────────────────────────────────────────────────────╮
00:07:13 verbose #11856 > > │ assert_eq / actual: struct (US0_0 3, US0_1) / expected: struct (US0_0 3, │
00:07:13 verbose #11857 > > │ US0_1) │
00:07:13 verbose #11858 > > │ │
00:07:13 verbose #11859 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:13 verbose #11860 > >
00:07:13 verbose #11861 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:13 verbose #11862 > > //// test
00:07:13 verbose #11863 > > ///! rust
00:07:13 verbose #11864 > >
00:07:13 verbose #11865 > > inl x = Some 3i32
00:07:13 verbose #11866 > > inl y : option i32 = None
00:07:13 verbose #11867 > > inl x' = x |> box |> unbox
00:07:13 verbose #11868 > > inl y' = y |> box |> map id |> unbox
00:07:13 verbose #11869 > > (x', y') |> _assert_eq' (x, y)
00:07:13 verbose #11870 > 00:07:13 debug #601 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d2da473085680db3e0589e07710babc658b1a5a384ecd6dfee3649e42297c0f5/main.spi
00:07:24 verbose #11871 > >
00:07:24 verbose #11872 > > ╭─[ 10.59s - return value ]────────────────────────────────────────────────────╮
00:07:24 verbose #11873 > > │ assert_eq' / actual: (US0_0(3), US0_1) / expected: (US0_0(3), US0_1) │
00:07:24 verbose #11874 > > │ │
00:07:24 verbose #11875 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:24 verbose #11876 > >
00:07:24 verbose #11877 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:24 verbose #11878 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:24 verbose #11879 > > │ ## of_obj │
00:07:24 verbose #11880 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:24 verbose #11881 > >
00:07:24 verbose #11882 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:24 verbose #11883 > > inl of_obj forall t. (x : t) : option' t =
00:07:24 verbose #11884 > > $'let mutable _!x = None'
00:07:24 verbose #11885 > > $"#if \!FABLE_COMPILER && \!WASM && \!CONTRACT"
00:07:24 verbose #11886 > > ((x |> $'Option.ofObj') : option' t) |> emit_unit
00:07:24 verbose #11887 > > $"#else"
00:07:24 verbose #11888 > > $'Some !x '
00:07:24 verbose #11889 > > $"#endif"
00:07:24 verbose #11890 > > $"|> fun x -> _!x <- Some x"
00:07:24 verbose #11891 > > $'_!x.Value'
00:07:24 verbose #11892 > 00:07:23 debug #602 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/13194ff12f2f3dfb149aa506546cd34c67fab7a95d8dd3f0b97de46ae6ebce11/main.spi
00:07:24 verbose #11893 > >
00:07:24 verbose #11894 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:24 verbose #11895 > > //// test
00:07:24 verbose #11896 > >
00:07:24 verbose #11897 > > null ()
00:07:24 verbose #11898 > > |> of_obj
00:07:24 verbose #11899 > > |> unbox
00:07:24 verbose #11900 > > |> _assert_eq (None : option string)
00:07:24 verbose #11901 > 00:07:23 debug #603 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0e65c88f31694c4f5e426f3de5133192b346e9d273422b585158e15f24930330/main.spi
00:07:24 verbose #11902 > >
00:07:24 verbose #11903 > > ╭─[ 148.65ms - stdout ]────────────────────────────────────────────────────────╮
00:07:24 verbose #11904 > > │ assert_eq / actual: US0_1 / expected: US0_1 │
00:07:24 verbose #11905 > > │ │
00:07:24 verbose #11906 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:24 verbose #11907 > >
00:07:24 verbose #11908 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:24 verbose #11909 > > //// test
00:07:24 verbose #11910 > > ///! rust
00:07:24 verbose #11911 > >
00:07:24 verbose #11912 > > ""
00:07:24 verbose #11913 > > |> of_obj
00:07:24 verbose #11914 > > |> unbox
00:07:24 verbose #11915 > > |> _assert_eq' (Some "")
00:07:24 verbose #11916 > 00:07:23 debug #604 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/96bdc4b17fb0096bae7fd4e356012ea13ad0d1f5d0595124690c5b5d48e8685a/main.spi
00:07:34 verbose #11917 > >
00:07:34 verbose #11918 > > ╭─[ 10.52s - return value ]────────────────────────────────────────────────────╮
00:07:34 verbose #11919 > > │ assert_eq' / actual: US0_0("") / expected: US0_0("") │
00:07:34 verbose #11920 > > │ │
00:07:34 verbose #11921 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:34 verbose #11922 > >
00:07:34 verbose #11923 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:34 verbose #11924 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:34 verbose #11925 > > │ ## flatten │
00:07:34 verbose #11926 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:34 verbose #11927 > >
00:07:34 verbose #11928 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:34 verbose #11929 > > inl flatten x =
00:07:34 verbose #11930 > > match x with
00:07:34 verbose #11931 > > | Some (Some x) => Some x
00:07:34 verbose #11932 > > | _ => None
00:07:34 verbose #11933 > 00:07:34 debug #605 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6af148045f0b29c082ca8e025542cfd9410c52a163d14acb7429c3bbdf2191b3/main.spi
00:07:34 verbose #11934 > >
00:07:34 verbose #11935 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:34 verbose #11936 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:34 verbose #11937 > > │ ## unwrap │
00:07:34 verbose #11938 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:34 verbose #11939 > >
00:07:34 verbose #11940 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:34 verbose #11941 > > inl unwrap forall t. (x : option' t) : t =
00:07:34 verbose #11942 > > !\\(x, $'"$0.unwrap()"')
00:07:34 verbose #11943 > 00:07:34 debug #606 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/617282e49381ab44e5291b88054f97b6f7b8e85ccf28b0ab69918c0649a2d104/main.spi
00:07:34 verbose #11944 > >
00:07:34 verbose #11945 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:34 verbose #11946 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:34 verbose #11947 > > │ ## take │
00:07:34 verbose #11948 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:34 verbose #11949 > >
00:07:34 verbose #11950 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:34 verbose #11951 > > inl take forall t. (x : option' t) : option' t =
00:07:34 verbose #11952 > > (!\\(x, $'"true; let mut !x = !x"') : bool) |> ignore
00:07:34 verbose #11953 > > !\\(x, $'"Option::take(&mut $0)"')
00:07:34 verbose #11954 > 00:07:34 debug #607 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9f10973d8a20cbf1fb2b4e43d5eb1358bdbb69c0eee8c9ede985bd05241f9a9d/main.spi
00:07:34 verbose #11955 > >
00:07:34 verbose #11956 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:34 verbose #11957 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:34 verbose #11958 > > │ ## ref_take' │
00:07:34 verbose #11959 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:34 verbose #11960 > >
00:07:34 verbose #11961 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:34 verbose #11962 > > inl ref_take' forall t. (x : rust.ref' (option' t)) : option' t =
00:07:34 verbose #11963 > > (!\\(x, $'"true; let mut !x = !x"') : bool) |> ignore
00:07:34 verbose #11964 > > !\\(x, $'"Option::take(&mut $0)"')
00:07:34 verbose #11965 > 00:07:34 debug #608 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a02546bc4de0256e1f67433e32b0a6460421c3a14f47d84f6e68cb2ff9b301ba/main.spi
00:07:35 verbose #11966 > >
00:07:35 verbose #11967 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:35 verbose #11968 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:35 verbose #11969 > > │ ## ref_take │
00:07:35 verbose #11970 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:35 verbose #11971 > >
00:07:35 verbose #11972 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:35 verbose #11973 > > inl ref_take forall t. (x : rust.ref' (rust.mut' (option' t))) : option' t =
00:07:35 verbose #11974 > > !\\(x, $'"Option::take($0)"')
00:07:35 verbose #11975 > 00:07:34 debug #609 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5b5d42e7dc5108855241ad36d36239db7c1781012852210bca505b3347b13d4f/main.spi
00:07:35 verbose #11976 > >
00:07:35 verbose #11977 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:35 verbose #11978 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:35 verbose #11979 > > │ ## as_mut │
00:07:35 verbose #11980 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:35 verbose #11981 > >
00:07:35 verbose #11982 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:35 verbose #11983 > > inl as_mut forall t. (x : rust.ref' (rust.mut' (option' t))) : option'
00:07:35 verbose #11984 > > (rust.ref' (rust.mut' t)) =
00:07:35 verbose #11985 > > !\\(x, $'"$0.as_mut()"')
00:07:35 verbose #11986 > 00:07:34 debug #610 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d36db43362f4c008b34daabfd717ec6dfc666bf659de025349d2caeb585efb72/main.spi
00:07:35 verbose #11987 > >
00:07:35 verbose #11988 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:35 verbose #11989 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:35 verbose #11990 > > │ ## unwrap_or │
00:07:35 verbose #11991 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:35 verbose #11992 > >
00:07:35 verbose #11993 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:35 verbose #11994 > > inl unwrap_or forall t. (def : t) (x : option' t) : t =
00:07:35 verbose #11995 > > !\($'"!x.unwrap_or(!def)"')
00:07:35 verbose #11996 > 00:07:34 debug #611 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aedf466ddea294c61850febd9f6a2ae2d174647b066cdd84243a06fcede68cc8/main.spi
00:07:35 verbose #11997 > >
00:07:35 verbose #11998 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:35 verbose #11999 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:35 verbose #12000 > > │ ## rc_upgrade │
00:07:35 verbose #12001 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:35 verbose #12002 > >
00:07:35 verbose #12003 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:35 verbose #12004 > > inl rc_upgrade forall t. (x : rust.weak_rc t) : option' (rust.rc t) =
00:07:35 verbose #12005 > > !\\(x, $'"std::rc::Weak::upgrade(&$0)"')
00:07:35 verbose #12006 > 00:07:34 debug #612 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/191b8c9dd77b66a277c1093957c7d6f3793beee8927147d69b2e2cba09bc66aa/main.spi
00:07:35 verbose #12007 > >
00:07:35 verbose #12008 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:35 verbose #12009 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:35 verbose #12010 > > │ ## rc_into_inner │
00:07:35 verbose #12011 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:35 verbose #12012 > >
00:07:35 verbose #12013 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:35 verbose #12014 > > inl rc_into_inner forall t. (x : rust.rc t) : option' t =
00:07:35 verbose #12015 > > !\\(x, $'"std::rc::Rc::into_inner($0)"')
00:07:35 verbose #12016 > 00:07:34 debug #613 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0d57fe96a93495c03ed095c945cf5f731bd779c932c8e3de658d1ce62ee8434d/main.spi
00:07:35 verbose #12017 > >
00:07:35 verbose #12018 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:35 verbose #12019 > > //// test
00:07:35 verbose #12020 > > ///! rust
00:07:35 verbose #12021 > >
00:07:35 verbose #12022 > > types ()
00:07:35 verbose #12023 > > rust.new_rc 0i32
00:07:35 verbose #12024 > > |> rc_into_inner
00:07:35 verbose #12025 > > |> unbox
00:07:35 verbose #12026 > > |> _assert_eq' (Some 0i32)
00:07:35 verbose #12027 > 00:07:34 debug #614 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ae9d4637737c3cee0f36ddba0de248df6b061a73406be23379d3dc8b2731478/main.spi
00:07:46 verbose #12028 > >
00:07:46 verbose #12029 > > ╭─[ 10.64s - return value ]────────────────────────────────────────────────────╮
00:07:46 verbose #12030 > > │ assert_eq' / actual: US0_0(0) / expected: US0_0(0) │
00:07:46 verbose #12031 > > │ │
00:07:46 verbose #12032 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:46 verbose #12033 > 00:00:39 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 22541
00:07:46 verbose #12034 > 00:00:39 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:07:46 verbose #12035 > 00:00:40 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb to html
00:07:46 verbose #12036 > 00:00:40 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:07:46 verbose #12037 > 00:00:40 verbose #7 ! validate(nb)
00:07:47 verbose #12038 > 00:00:40 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:07:47 verbose #12039 > 00:00:40 verbose #9 ! return _pygments_highlight(
00:07:47 verbose #12040 > 00:00:40 verbose #10 ! [NbConvertApp] Writing 329876 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.html
00:07:47 verbose #12041 > 00:00:40 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 900
00:07:47 verbose #12042 > 00:00:40 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 900
00:07:47 verbose #12043 > 00:00:40 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/optionm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/optionm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:07:47 verbose #12044 > 00:00:41 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:07:47 verbose #12045 > 00:00:41 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:07:47 verbose #12046 > 00:00:41 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 23500
00:07:47 debug #12047 execute_with_options_async / exit_code: 0 / output.Length: 26759
00:07:47 debug #17 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path optionm'.dib --retries 3
00:07:47 debug #12048 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path listm'.dib --retries 3",
[||], None, None, true, None)
00:07:47 verbose #12049 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "listm'.dib", "--retries", "3"])
00:07:47 verbose #12050 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:07:49 verbose #12051 > >
00:07:49 verbose #12052 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:49 verbose #12053 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:49 verbose #12054 > > │ # listm │
00:07:49 verbose #12055 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:49 verbose #12056 > >
00:07:49 verbose #12057 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:49 verbose #12058 > > //// test
00:07:49 verbose #12059 > >
00:07:49 verbose #12060 > > open testing
00:07:49 verbose #12061 > >
00:07:49 verbose #12062 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:07:49 verbose #12063 > > #r
00:07:49 verbose #12064 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:07:49 verbose #12065 > > Net.Interactive.Spiral.dll"
00:07:49 verbose #12066 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:07:49 verbose #12067 > > #r
00:07:49 verbose #12068 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:07:49 verbose #12069 > > Net.Interactive.dll"
00:07:49 verbose #12070 > > open type Microsoft.DotNet.Interactive.Kernel
00:07:51 verbose #12071 > >
00:07:51 verbose #12072 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:51 verbose #12073 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:51 verbose #12074 > > │ ## list' │
00:07:51 verbose #12075 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:51 verbose #12076 > >
00:07:51 verbose #12077 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:51 verbose #12078 > > nominal list' t = $'`t list'
00:07:52 verbose #12079 > 00:07:51 debug #615 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c1c221adb54cf52c144dec7938f5c2343d038fcfc45adf15adf405cec240e4dd/main.spi
00:07:52 verbose #12080 > >
00:07:52 verbose #12081 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12082 > > inl empty' forall t. () : list' t =
00:07:52 verbose #12083 > > $'[[]]'
00:07:52 verbose #12084 > 00:07:51 debug #616 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3cff073f0cc6d8a526c1166ab766aa24fac635b0f5f8a24e32216f432bed647b/main.spi
00:07:52 verbose #12085 > >
00:07:52 verbose #12086 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12087 > > inl cons' forall t. (head : t) (tail : list' t) : list' t =
00:07:52 verbose #12088 > > $'!head :: !tail '
00:07:52 verbose #12089 > 00:07:51 debug #617 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7753b4f05818cfb613c5a9d25f8e77ad3da6096803db39f55b8dd6071dae355d/main.spi
00:07:52 verbose #12090 > >
00:07:52 verbose #12091 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:52 verbose #12092 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:52 verbose #12093 > > │ ## box │
00:07:52 verbose #12094 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:52 verbose #12095 > >
00:07:52 verbose #12096 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12097 > > inl box forall t. (list : list t) : list' t =
00:07:52 verbose #12098 > > (list, empty' ())
00:07:52 verbose #12099 > > ||> listm.foldBack fun x acc =>
00:07:52 verbose #12100 > > acc |> cons' x
00:07:52 verbose #12101 > 00:07:52 debug #618 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bb7e06c1307755dddba79b122d3d829c972e5bebd79d2bd5e2daa749e9b8d16f/main.spi
00:07:52 verbose #12102 > >
00:07:52 verbose #12103 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:52 verbose #12104 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:52 verbose #12105 > > │ ## fold' │
00:07:52 verbose #12106 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:52 verbose #12107 > >
00:07:52 verbose #12108 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12109 > > inl fold' forall t u. (fn : t -> u) (init : list u) (list : list' t) : list u =
00:07:52 verbose #12110 > > (init, list)
00:07:52 verbose #12111 > > ||> $'List.fold' join fun acc x => Cons (fn x, acc)
00:07:52 verbose #12112 > 00:07:52 debug #619 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8747d11740fa47d6a3bd94e7aa1b4eb719ee7a763308e73851592c918ae1c6ec/main.spi
00:07:52 verbose #12113 > >
00:07:52 verbose #12114 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:52 verbose #12115 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:52 verbose #12116 > > │ ## fold_back' │
00:07:52 verbose #12117 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:52 verbose #12118 > >
00:07:52 verbose #12119 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12120 > > inl fold_back' forall t u. (fn : t -> u) (list : list' t) (init : list u) : list
00:07:52 verbose #12121 > > u =
00:07:52 verbose #12122 > > (list, init)
00:07:52 verbose #12123 > > ||> $'List.foldBack' join fun x acc => Cons (fn x, acc)
00:07:52 verbose #12124 > 00:07:52 debug #620 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/31a4ca1e8e1f3523792483a13143043cb54acc1f4176f308406eb388edef8a0f/main.spi
00:07:52 verbose #12125 > >
00:07:52 verbose #12126 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:52 verbose #12127 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:52 verbose #12128 > > │ ## filter' │
00:07:52 verbose #12129 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:52 verbose #12130 > >
00:07:52 verbose #12131 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12132 > > inl filter' forall t. (fn : t -> bool) (list : list' t) : list' t =
00:07:52 verbose #12133 > > list |> $'"List.filter !fn"'
00:07:52 verbose #12134 > 00:07:52 debug #621 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/abf014a8db189b0dfae898f02d918704c39a3d5595adce3c5ad961fa33dd05a8/main.spi
00:07:52 verbose #12135 > >
00:07:52 verbose #12136 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:52 verbose #12137 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:52 verbose #12138 > > │ ## filter │
00:07:52 verbose #12139 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:52 verbose #12140 > >
00:07:52 verbose #12141 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12142 > > inl filter forall t. (fn : t -> bool) (list : list t) : list t =
00:07:52 verbose #12143 > > (list, Nil)
00:07:52 verbose #12144 > > ||> listm.foldBack fun x acc =>
00:07:52 verbose #12145 > > if fn x then x :: acc else acc
00:07:52 verbose #12146 > 00:07:52 debug #622 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2f3899eae0d1f54c7533acf00acd982d66f12081798f174a3a051d1b984ccbd1/main.spi
00:07:52 verbose #12147 > >
00:07:52 verbose #12148 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:52 verbose #12149 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:52 verbose #12150 > > │ ## unbox │
00:07:52 verbose #12151 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:52 verbose #12152 > >
00:07:52 verbose #12153 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12154 > > inl unbox forall t. (list : list' t) : list t =
00:07:52 verbose #12155 > > (list, Nil)
00:07:52 verbose #12156 > > ||> fold_back' id
00:07:52 verbose #12157 > 00:07:52 debug #623 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0446b95216776faea1ee5a94e0deb5bfeec94c35eb10cef7aefcf0f4ced2c36b/main.spi
00:07:52 verbose #12158 > >
00:07:52 verbose #12159 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:52 verbose #12160 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:52 verbose #12161 > > │ ## distinct' │
00:07:52 verbose #12162 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:52 verbose #12163 > >
00:07:52 verbose #12164 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12165 > > inl distinct' forall t. (list : list' t) : list' t =
00:07:52 verbose #12166 > > list |> $'List.distinct'
00:07:52 verbose #12167 > 00:07:52 debug #624 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/070580a826efe0b0ff2e39619b6433b042c3f0b3e061ae0075fe79b5e6488ac7/main.spi
00:07:52 verbose #12168 > >
00:07:52 verbose #12169 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:52 verbose #12170 > > //// test
00:07:52 verbose #12171 > >
00:07:52 verbose #12172 > > [[ "1"; "2"; "2"; "3" ]]
00:07:52 verbose #12173 > > |> box
00:07:52 verbose #12174 > > |> distinct'
00:07:52 verbose #12175 > > |> unbox
00:07:52 verbose #12176 > > |> _assert_eq [[ "1"; "2"; "3" ]]
00:07:52 verbose #12177 > 00:07:52 debug #625 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1e671912a4adbacb0598cbcc297907dfc35001e96d0de0a5b22f7685c2e32f21/main.spi
00:07:53 verbose #12178 > >
00:07:53 verbose #12179 > > ╭─[ 860.22ms - stdout ]────────────────────────────────────────────────────────╮
00:07:53 verbose #12180 > > │ assert_eq / actual: UH0_1 ("1", UH0_1 ("2", UH0_1 ("3", UH0_0))) / expected: │
00:07:53 verbose #12181 > > │ UH0_1 ("1", UH0_1 ("2", UH0_1 ("3", UH0_0))) │
00:07:53 verbose #12182 > > │ │
00:07:53 verbose #12183 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:53 verbose #12184 > >
00:07:53 verbose #12185 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:53 verbose #12186 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:53 verbose #12187 > > │ ## to_array' │
00:07:53 verbose #12188 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:53 verbose #12189 > >
00:07:53 verbose #12190 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:53 verbose #12191 > > inl to_array' forall dim t. (items : list' t) : a dim t =
00:07:53 verbose #12192 > > items |> $'List.toArray'
00:07:53 verbose #12193 > 00:07:53 debug #626 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7112129bd46423ecd797380eb2ee49aed82894f258e23cd9d2aa15665c5a736f/main.spi
00:07:53 verbose #12194 > >
00:07:53 verbose #12195 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:53 verbose #12196 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:53 verbose #12197 > > │ ## append │
00:07:53 verbose #12198 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:53 verbose #12199 > >
00:07:53 verbose #12200 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:53 verbose #12201 > > instance append list t =
00:07:53 verbose #12202 > > listm.append
00:07:53 verbose #12203 > 00:07:53 debug #627 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/197551270c57af4a0c6ecc929fe816309a5a9f1303da4a8acb419917e709f6e7/main.spi
00:07:53 verbose #12204 > >
00:07:53 verbose #12205 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:53 verbose #12206 > > //// test
00:07:53 verbose #12207 > >
00:07:53 verbose #12208 > > [[ "a"; "b" ]] ++ [[ "c"; "d" ]]
00:07:53 verbose #12209 > > |> _assert_eq [[ "a"; "b"; "c"; "d" ]]
00:07:53 verbose #12210 > 00:07:53 debug #628 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f7cb02f8129275abccf9e8471f8171d5e980ca8bc741c9f4d4698ef46ef5756/main.spi
00:07:54 verbose #12211 > >
00:07:54 verbose #12212 > > ╭─[ 251.80ms - stdout ]────────────────────────────────────────────────────────╮
00:07:54 verbose #12213 > > │ assert_eq / actual: UH0_1 ("a", UH0_1 ("b", UH0_1 ("c", UH0_1 ("d", │
00:07:54 verbose #12214 > > │ UH0_0)))) / expected: UH0_1 ("a", UH0_1 ("b", UH0_1 ("c", UH0_1 ("d", │
00:07:54 verbose #12215 > > │ UH0_0)))) │
00:07:54 verbose #12216 > > │ │
00:07:54 verbose #12217 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12218 > >
00:07:54 verbose #12219 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:54 verbose #12220 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:54 verbose #12221 > > │ ## collect │
00:07:54 verbose #12222 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12223 > >
00:07:54 verbose #12224 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12225 > > inl collect forall t r. (fn : t -> list r) (items : list t) : list r =
00:07:54 verbose #12226 > > items
00:07:54 verbose #12227 > > |> listm.map fn
00:07:54 verbose #12228 > > |> listm.fold (++) [[]]
00:07:54 verbose #12229 > 00:07:53 debug #629 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1ef61c8e18c2fbf8b19712a6d359eaae4404ff71a8ccf361bc79c5d7b42cb8b7/main.spi
00:07:54 verbose #12230 > >
00:07:54 verbose #12231 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:54 verbose #12232 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:54 verbose #12233 > > │ ## init_series │
00:07:54 verbose #12234 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12235 > >
00:07:54 verbose #12236 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12237 > > inl init_series start end inc =
00:07:54 verbose #12238 > > inl total : f64 = conv ((end - start) / inc) + 1
00:07:54 verbose #12239 > > listm.init total (conv >> (*) inc >> (+) start)
00:07:54 verbose #12240 > 00:07:53 debug #630 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6544eb6b7b59d1bf572798abeef73a9d7f12fd6a5da38272497da404dc328396/main.spi
00:07:54 verbose #12241 > >
00:07:54 verbose #12242 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12243 > > //// test
00:07:54 verbose #12244 > >
00:07:54 verbose #12245 > > init_series 0 1 0.5
00:07:54 verbose #12246 > > |> _assert_eq [[ 0f64; 0.5; 1 ]]
00:07:54 verbose #12247 > 00:07:53 debug #631 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d15cef569268a4b906026a4c3011f58cfd2c22e9594b04aad9cf1a63a2162855/main.spi
00:07:54 verbose #12248 > >
00:07:54 verbose #12249 > > ╭─[ 106.47ms - stdout ]────────────────────────────────────────────────────────╮
00:07:54 verbose #12250 > > │ assert_eq / actual: UH0_1 (0.0, UH0_1 (0.5, UH0_1 (1.0, UH0_0))) / expected: │
00:07:54 verbose #12251 > > │ UH0_1 (0.0, UH0_1 (0.5, UH0_1 (1.0, UH0_0))) │
00:07:54 verbose #12252 > > │ │
00:07:54 verbose #12253 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12254 > >
00:07:54 verbose #12255 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:54 verbose #12256 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:54 verbose #12257 > > │ ## try_item │
00:07:54 verbose #12258 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12259 > >
00:07:54 verbose #12260 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12261 > > inl rec try_item i = function
00:07:54 verbose #12262 > > | Cons (x, _) when i = 0 => Some x
00:07:54 verbose #12263 > > | Cons (_, xs) => try_item (i - 1) xs
00:07:54 verbose #12264 > > | Nil => None
00:07:54 verbose #12265 > 00:07:53 debug #632 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4111b1488f1d9fdad41648d1ae120d72b6866fbada9eef563aca63be533f6e38/main.spi
00:07:54 verbose #12266 > >
00:07:54 verbose #12267 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12268 > > //// test
00:07:54 verbose #12269 > >
00:07:54 verbose #12270 > > listm.init 10i32 id
00:07:54 verbose #12271 > > |> try_item 9i32
00:07:54 verbose #12272 > > |> _assert_eq (Some 9)
00:07:54 verbose #12273 > 00:07:54 debug #633 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0eb2410d59828d2798ec525d68615e8a2e85f8960f8cdd97e2126cc550bf63fc/main.spi
00:07:54 verbose #12274 > >
00:07:54 verbose #12275 > > ╭─[ 117.80ms - stdout ]────────────────────────────────────────────────────────╮
00:07:54 verbose #12276 > > │ assert_eq / actual: US0_0 9 / expected: US0_0 9 │
00:07:54 verbose #12277 > > │ │
00:07:54 verbose #12278 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12279 > >
00:07:54 verbose #12280 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12281 > > //// test
00:07:54 verbose #12282 > >
00:07:54 verbose #12283 > > listm.init 10i32 id
00:07:54 verbose #12284 > > |> try_item 10i32
00:07:54 verbose #12285 > > |> _assert_eq None
00:07:54 verbose #12286 > 00:07:54 debug #634 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4e8b155da1ac32b90bc00e74a3bd666047f94ddbd68bf96f5f0dcda950fb4889/main.spi
00:07:54 verbose #12287 > >
00:07:54 verbose #12288 > > ╭─[ 93.68ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:54 verbose #12289 > > │ assert_eq / actual: US0_1 / expected: US0_1 │
00:07:54 verbose #12290 > > │ │
00:07:54 verbose #12291 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12292 > >
00:07:54 verbose #12293 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:54 verbose #12294 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:54 verbose #12295 > > │ ## list_item │
00:07:54 verbose #12296 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12297 > >
00:07:54 verbose #12298 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12299 > > inl item i =
00:07:54 verbose #12300 > > try_item i >> optionm.value
00:07:54 verbose #12301 > 00:07:54 debug #635 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/70636eb9e017904ccc8d469ce07827ef94c433ba891a4c4ffc947a468a3f77c4/main.spi
00:07:54 verbose #12302 > >
00:07:54 verbose #12303 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12304 > > //// test
00:07:54 verbose #12305 > >
00:07:54 verbose #12306 > > listm.init 10i32 id
00:07:54 verbose #12307 > > |> item 9i32
00:07:54 verbose #12308 > > |> _assert_eq 9
00:07:54 verbose #12309 > 00:07:54 debug #636 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4118828ac5eafb93b1c858244f49b0406b20288017733d31de259ee8b6516dc7/main.spi
00:07:54 verbose #12310 > >
00:07:54 verbose #12311 > > ╭─[ 75.54ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:54 verbose #12312 > > │ assert_eq / actual: 9 / expected: 9 │
00:07:54 verbose #12313 > > │ │
00:07:54 verbose #12314 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12315 > >
00:07:54 verbose #12316 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12317 > > //// test
00:07:54 verbose #12318 > >
00:07:54 verbose #12319 > > fun () =>
00:07:54 verbose #12320 > > listm.init 10i32 id
00:07:54 verbose #12321 > > |> item 10i32
00:07:54 verbose #12322 > > |> ignore
00:07:54 verbose #12323 > > |> _throws
00:07:54 verbose #12324 > > |> optionm.map sm'.format_exception
00:07:54 verbose #12325 > > |> _assert_eq (Some "System.Exception: Option does not have a value.")
00:07:54 verbose #12326 > 00:07:54 debug #637 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c705d1c2b52a0dc175383c8fe66f0985055820a4b9f003f71454e28ae51367e8/main.spi
00:07:54 verbose #12327 > >
00:07:54 verbose #12328 > > ╭─[ 182.98ms - stdout ]────────────────────────────────────────────────────────╮
00:07:54 verbose #12329 > > │ assert_eq / actual: US1_0 "System.Exception: Option does not have a value." │
00:07:54 verbose #12330 > > │ / expected: US1_0 "System.Exception: Option does not have a value." │
00:07:54 verbose #12331 > > │ │
00:07:54 verbose #12332 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12333 > >
00:07:54 verbose #12334 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:54 verbose #12335 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:54 verbose #12336 > > │ ## try_item_ │
00:07:54 verbose #12337 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:54 verbose #12338 > >
00:07:54 verbose #12339 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:54 verbose #12340 > > let rec try_item_ i = function
00:07:54 verbose #12341 > > | Cons (x, _) when i = 0 => Some x
00:07:54 verbose #12342 > > | Cons (_, xs) => try_item_ (i - 1) xs
00:07:54 verbose #12343 > > | Nil => None
00:07:54 verbose #12344 > 00:07:54 debug #638 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/92759f32024573a78d4edea61423bf64b3393fd94d7f21b3da164aab6d428cc5/main.spi
00:07:55 verbose #12345 > >
00:07:55 verbose #12346 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:55 verbose #12347 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:55 verbose #12348 > > │ ## item_ │
00:07:55 verbose #12349 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12350 > >
00:07:55 verbose #12351 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12352 > > inl item_ i =
00:07:55 verbose #12353 > > try_item_ i >> optionm.value
00:07:55 verbose #12354 > 00:07:54 debug #639 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/88c673659b20dad9dff31402e6a571eb09eea0d3cce0ae5a37306024c1e82164/main.spi
00:07:55 verbose #12355 > >
00:07:55 verbose #12356 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:55 verbose #12357 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:55 verbose #12358 > > │ ## sum │
00:07:55 verbose #12359 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12360 > >
00:07:55 verbose #12361 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12362 > > inl sum list =
00:07:55 verbose #12363 > > list |> listm.fold (+) 0
00:07:55 verbose #12364 > 00:07:54 debug #640 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/03d598a646f7a570db82d5bb6ff5e8ae069edeb60fb9c00bdd1218e00461eaf5/main.spi
00:07:55 verbose #12365 > >
00:07:55 verbose #12366 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12367 > > //// test
00:07:55 verbose #12368 > >
00:07:55 verbose #12369 > > listm.init 10i32 id
00:07:55 verbose #12370 > > |> sum
00:07:55 verbose #12371 > > |> _assert_eq 45
00:07:55 verbose #12372 > 00:07:54 debug #641 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a6b7ce9914ed7bdd5bc02c4b67e44ecbbf7026bef4ae09d9f555fc18f49e58d5/main.spi
00:07:55 verbose #12373 > >
00:07:55 verbose #12374 > > ╭─[ 82.42ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:55 verbose #12375 > > │ assert_eq / actual: 45 / expected: 45 │
00:07:55 verbose #12376 > > │ │
00:07:55 verbose #12377 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12378 > >
00:07:55 verbose #12379 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:55 verbose #12380 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:55 verbose #12381 > > │ ## unzip │
00:07:55 verbose #12382 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12383 > >
00:07:55 verbose #12384 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12385 > > inl unzip list =
00:07:55 verbose #12386 > > (([[]], [[]]), list)
00:07:55 verbose #12387 > > ||> listm.fold fun (acc_x, acc_y) (x, y) =>
00:07:55 verbose #12388 > > x :: acc_x, y :: acc_y
00:07:55 verbose #12389 > > |> fun x, y =>
00:07:55 verbose #12390 > > x |> listm.rev, y |> listm.rev
00:07:55 verbose #12391 > 00:07:54 debug #642 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/da754a236e4cbf54961fdc12eab37fcb89fd282bfc5d460c0842979db1aa6869/main.spi
00:07:55 verbose #12392 > >
00:07:55 verbose #12393 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12394 > > //// test
00:07:55 verbose #12395 > >
00:07:55 verbose #12396 > > listm.init 10i32 id
00:07:55 verbose #12397 > > |> listm.map (fun x => x, x)
00:07:55 verbose #12398 > > |> unzip
00:07:55 verbose #12399 > > |> fun x, y =>
00:07:55 verbose #12400 > > x |> sum
00:07:55 verbose #12401 > > |> _assert_eq 45
00:07:55 verbose #12402 > >
00:07:55 verbose #12403 > > y |> sum
00:07:55 verbose #12404 > > |> _assert_eq 45
00:07:55 verbose #12405 > 00:07:54 debug #643 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/027cf79d73e44b20cde25316b2577cf121e0df6cfa079bdb03602374cb8936b5/main.spi
00:07:55 verbose #12406 > >
00:07:55 verbose #12407 > > ╭─[ 99.53ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:55 verbose #12408 > > │ assert_eq / actual: 45 / expected: 45 │
00:07:55 verbose #12409 > > │ assert_eq / actual: 45 / expected: 45 │
00:07:55 verbose #12410 > > │ │
00:07:55 verbose #12411 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12412 > >
00:07:55 verbose #12413 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:55 verbose #12414 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:55 verbose #12415 > > │ ## try_index_of │
00:07:55 verbose #12416 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12417 > >
00:07:55 verbose #12418 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12419 > > inl try_index_of item list =
00:07:55 verbose #12420 > > inl rec loop i = function
00:07:55 verbose #12421 > > | [[]] => None
00:07:55 verbose #12422 > > | x :: xs =>
00:07:55 verbose #12423 > > if x = item
00:07:55 verbose #12424 > > then Some i
00:07:55 verbose #12425 > > else loop (i + 1) xs
00:07:55 verbose #12426 > > loop 0 list
00:07:55 verbose #12427 > >
00:07:55 verbose #12428 > > inl index_of item =
00:07:55 verbose #12429 > > try_index_of item >> optionm.value
00:07:55 verbose #12430 > >
00:07:55 verbose #12431 > > inl try_index_of_ item list =
00:07:55 verbose #12432 > > let rec loop i = function
00:07:55 verbose #12433 > > | [[]] => None
00:07:55 verbose #12434 > > | x :: xs =>
00:07:55 verbose #12435 > > if x = item
00:07:55 verbose #12436 > > then Some i
00:07:55 verbose #12437 > > else loop (i + 1) xs
00:07:55 verbose #12438 > > loop 0 list
00:07:55 verbose #12439 > >
00:07:55 verbose #12440 > > inl index_of_ item =
00:07:55 verbose #12441 > > try_index_of_ item >> optionm.value
00:07:55 verbose #12442 > >
00:07:55 verbose #12443 > > inl try_index_of__ item list =
00:07:55 verbose #12444 > > inl i = mut 0
00:07:55 verbose #12445 > > inl list = mut list
00:07:55 verbose #12446 > > inl result = mut None
00:07:55 verbose #12447 > > let rec loop () =
00:07:55 verbose #12448 > > match *list with
00:07:55 verbose #12449 > > | [[]] => result <- None
00:07:55 verbose #12450 > > | x :: xs =>
00:07:55 verbose #12451 > > if x = item
00:07:55 verbose #12452 > > then result <- Some *i
00:07:55 verbose #12453 > > else
00:07:55 verbose #12454 > > i <- *i + 1
00:07:55 verbose #12455 > > list <- xs
00:07:55 verbose #12456 > > loop ()
00:07:55 verbose #12457 > > loop ()
00:07:55 verbose #12458 > > *result
00:07:55 verbose #12459 > >
00:07:55 verbose #12460 > > inl index_of__ item =
00:07:55 verbose #12461 > > try_index_of__ item >> optionm.value
00:07:55 verbose #12462 > 00:07:55 debug #644 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8a215867463a0d4a2e336d871971932d03011dba438d520bce17a120e86445a9/main.spi
00:07:55 verbose #12463 > >
00:07:55 verbose #12464 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12465 > > //// test
00:07:55 verbose #12466 > >
00:07:55 verbose #12467 > > listm.init 10i32 id
00:07:55 verbose #12468 > > |> index_of 5i32
00:07:55 verbose #12469 > > |> _assert_eq 5i32
00:07:55 verbose #12470 > 00:07:55 debug #645 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/05197df211d1cda1dc806fd623749cce386726d00e5fa3817d85670a6d6c0bb0/main.spi
00:07:55 verbose #12471 > >
00:07:55 verbose #12472 > > ╭─[ 81.44ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:55 verbose #12473 > > │ assert_eq / actual: 5 / expected: 5 │
00:07:55 verbose #12474 > > │ │
00:07:55 verbose #12475 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12476 > >
00:07:55 verbose #12477 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12478 > > //// test
00:07:55 verbose #12479 > >
00:07:55 verbose #12480 > > listm.init 10i32 id
00:07:55 verbose #12481 > > |> try_index_of 10i32
00:07:55 verbose #12482 > > |> _assert_eq (None : option i32)
00:07:55 verbose #12483 > 00:07:55 debug #646 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5e882dde09f18dd1245218af5135cfb0e7752829e1564487b13245ddc3fe8be1/main.spi
00:07:55 verbose #12484 > >
00:07:55 verbose #12485 > > ╭─[ 103.91ms - stdout ]────────────────────────────────────────────────────────╮
00:07:55 verbose #12486 > > │ assert_eq / actual: US0_1 / expected: US0_1 │
00:07:55 verbose #12487 > > │ │
00:07:55 verbose #12488 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12489 > >
00:07:55 verbose #12490 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:55 verbose #12491 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:55 verbose #12492 > > │ ## try_find │
00:07:55 verbose #12493 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:55 verbose #12494 > >
00:07:55 verbose #12495 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:55 verbose #12496 > > inl try_find fn list =
00:07:55 verbose #12497 > > inl rec loop = function
00:07:55 verbose #12498 > > | [[]] => None
00:07:55 verbose #12499 > > | x :: xs =>
00:07:55 verbose #12500 > > if fn x
00:07:55 verbose #12501 > > then Some x
00:07:55 verbose #12502 > > else loop xs
00:07:55 verbose #12503 > > loop list
00:07:55 verbose #12504 > >
00:07:55 verbose #12505 > > inl try_find_ fn list =
00:07:55 verbose #12506 > > let rec loop = function
00:07:55 verbose #12507 > > | [[]] => None
00:07:55 verbose #12508 > > | x :: xs =>
00:07:55 verbose #12509 > > if fn x
00:07:55 verbose #12510 > > then Some x
00:07:55 verbose #12511 > > else loop xs
00:07:55 verbose #12512 > > loop list
00:07:55 verbose #12513 > 00:07:55 debug #647 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/11e4a004be6d205c9f81b40f8490ceb91ea5061f46c1f69a510fafa6d59ad927/main.spi
00:07:56 verbose #12514 > >
00:07:56 verbose #12515 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12516 > > //// test
00:07:56 verbose #12517 > >
00:07:56 verbose #12518 > > listm.init 10i32 id
00:07:56 verbose #12519 > > |> try_find ((=) 5i32)
00:07:56 verbose #12520 > > |> _assert_eq (Some 5i32)
00:07:56 verbose #12521 > 00:07:55 debug #648 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/55e6017629a4f8dd347cac5ab23183d041b02478d5fa830809eb2c7ab7ccf1e0/main.spi
00:07:56 verbose #12522 > >
00:07:56 verbose #12523 > > ╭─[ 156.45ms - stdout ]────────────────────────────────────────────────────────╮
00:07:56 verbose #12524 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │
00:07:56 verbose #12525 > > │ │
00:07:56 verbose #12526 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12527 > >
00:07:56 verbose #12528 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12529 > > inl find x =
00:07:56 verbose #12530 > > try_find x >> optionm.value
00:07:56 verbose #12531 > >
00:07:56 verbose #12532 > > inl find_ x =
00:07:56 verbose #12533 > > try_find_ x >> optionm.value
00:07:56 verbose #12534 > 00:07:55 debug #649 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/de52a58a48b41ffb6098d02ffeee3c917dc752f6835343881b69dd4c84b11e54/main.spi
00:07:56 verbose #12535 > >
00:07:56 verbose #12536 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12537 > > //// test
00:07:56 verbose #12538 > >
00:07:56 verbose #12539 > > listm.init 10i32 id
00:07:56 verbose #12540 > > |> find ((=) 5i32)
00:07:56 verbose #12541 > > |> _assert_eq 5i32
00:07:56 verbose #12542 > 00:07:55 debug #650 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f2abc93a6066e858d14d20bbf225d0f4fc03c391d5fe24d4a93a81d364f706b9/main.spi
00:07:56 verbose #12543 > >
00:07:56 verbose #12544 > > ╭─[ 80.14ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:56 verbose #12545 > > │ assert_eq / actual: 5 / expected: 5 │
00:07:56 verbose #12546 > > │ │
00:07:56 verbose #12547 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12548 > >
00:07:56 verbose #12549 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:56 verbose #12550 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:56 verbose #12551 > > │ ## choose │
00:07:56 verbose #12552 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12553 > >
00:07:56 verbose #12554 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12555 > > inl choose f l =
00:07:56 verbose #12556 > > (l, [[]])
00:07:56 verbose #12557 > > ||> listm.foldBack fun x acc =>
00:07:56 verbose #12558 > > match f x with
00:07:56 verbose #12559 > > | Some y => y :: acc
00:07:56 verbose #12560 > > | None => acc
00:07:56 verbose #12561 > 00:07:55 debug #651 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/26c9955f4f5c38f37269c42c1b9a1bacf4ac9188d6e68b145ba4528022fb9979/main.spi
00:07:56 verbose #12562 > >
00:07:56 verbose #12563 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12564 > > //// test
00:07:56 verbose #12565 > >
00:07:56 verbose #12566 > > listm.init 10i32 id
00:07:56 verbose #12567 > > |> choose (fun x => if x % 2 = 0 then Some x else None)
00:07:56 verbose #12568 > > |> _assert_eq [[ 0; 2; 4; 6; 8 ]]
00:07:56 verbose #12569 > 00:07:56 debug #652 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6dc0d7b842a3801a513ce0578894ed1023c9ae41e6ec7a62a339cc469724276a/main.spi
00:07:56 verbose #12570 > >
00:07:56 verbose #12571 > > ╭─[ 107.24ms - stdout ]────────────────────────────────────────────────────────╮
00:07:56 verbose #12572 > > │ assert_eq / actual: UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, │
00:07:56 verbose #12573 > > │ UH0_0))))) / expected: UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, │
00:07:56 verbose #12574 > > │ UH0_0))))) │
00:07:56 verbose #12575 > > │ │
00:07:56 verbose #12576 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12577 > >
00:07:56 verbose #12578 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:56 verbose #12579 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:56 verbose #12580 > > │ ## zip_with │
00:07:56 verbose #12581 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12582 > >
00:07:56 verbose #12583 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12584 > > inl zip_with fn xs ys =
00:07:56 verbose #12585 > > inl rec loop acc xs ys =
00:07:56 verbose #12586 > > match xs, ys with
00:07:56 verbose #12587 > > | Cons (x, xs), Cons (y, ys) =>
00:07:56 verbose #12588 > > loop (fn x y :: acc) xs ys
00:07:56 verbose #12589 > > | _ => listm.rev acc
00:07:56 verbose #12590 > > loop [[]] xs ys
00:07:56 verbose #12591 > >
00:07:56 verbose #12592 > > inl zip_with_ fn xs ys =
00:07:56 verbose #12593 > > let rec loop acc xs ys =
00:07:56 verbose #12594 > > match xs, ys with
00:07:56 verbose #12595 > > | Cons (x, xs), Cons (y, ys) =>
00:07:56 verbose #12596 > > loop (fn x y :: acc) xs ys
00:07:56 verbose #12597 > > | _ => listm.rev acc
00:07:56 verbose #12598 > > loop [[]] xs ys
00:07:56 verbose #12599 > 00:07:56 debug #653 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ce56bfb52bd9cc986e136db0c0f2ec8a92c96815c26022f6bc86a17bef862b0/main.spi
00:07:56 verbose #12600 > >
00:07:56 verbose #12601 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12602 > > //// test
00:07:56 verbose #12603 > >
00:07:56 verbose #12604 > > ([[ 1i32; 2; 3 ]], [[ 4; 5; 6 ]])
00:07:56 verbose #12605 > > ||> zip_with (+)
00:07:56 verbose #12606 > > |> _assert_eq [[ 5; 7; 9 ]]
00:07:56 verbose #12607 > 00:07:56 debug #654 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8ed26dc6e4d0f421919da7e4e61a5cb579efde4bb43f3604763fe08583b524fb/main.spi
00:07:56 verbose #12608 > >
00:07:56 verbose #12609 > > ╭─[ 105.09ms - stdout ]────────────────────────────────────────────────────────╮
00:07:56 verbose #12610 > > │ assert_eq / actual: UH0_1 (5, UH0_1 (7, UH0_1 (9, UH0_0))) / expected: UH0_1 │
00:07:56 verbose #12611 > > │ (5, UH0_1 (7, UH0_1 (9, UH0_0))) │
00:07:56 verbose #12612 > > │ │
00:07:56 verbose #12613 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12614 > >
00:07:56 verbose #12615 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:56 verbose #12616 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:56 verbose #12617 > > │ ## zip │
00:07:56 verbose #12618 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12619 > >
00:07:56 verbose #12620 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12621 > > inl zip xs ys =
00:07:56 verbose #12622 > > zip_with pair xs ys
00:07:56 verbose #12623 > >
00:07:56 verbose #12624 > > inl zip_ xs ys =
00:07:56 verbose #12625 > > zip_with_ pair xs ys
00:07:56 verbose #12626 > 00:07:56 debug #655 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b84316f3f6c07ccf24638aeb0e5c6b5fa98c32fdf5d42df93a926d4eb8c25ebb/main.spi
00:07:56 verbose #12627 > >
00:07:56 verbose #12628 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12629 > > //// test
00:07:56 verbose #12630 > >
00:07:56 verbose #12631 > > ([[ 1i32; 2; 3 ]], [[ 4i32; 5; 6 ]])
00:07:56 verbose #12632 > > ||> zip
00:07:56 verbose #12633 > > |> _assert_eq [[ 1, 4; 2, 5; 3, 6 ]]
00:07:56 verbose #12634 > 00:07:56 debug #656 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9a67aa36b2fcaa90801e53041e3a7965624ce5576db83b3b527ad6ad454488fc/main.spi
00:07:56 verbose #12635 > >
00:07:56 verbose #12636 > > ╭─[ 134.07ms - stdout ]────────────────────────────────────────────────────────╮
00:07:56 verbose #12637 > > │ assert_eq / actual: UH0_1 (1, 4, UH0_1 (2, 5, UH0_1 (3, 6, UH0_0))) / │
00:07:56 verbose #12638 > > │ expected: UH0_1 (1, 4, UH0_1 (2, 5, UH0_1 (3, 6, UH0_0))) │
00:07:56 verbose #12639 > > │ │
00:07:56 verbose #12640 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12641 > >
00:07:56 verbose #12642 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:56 verbose #12643 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:56 verbose #12644 > > │ ## indexed │
00:07:56 verbose #12645 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:56 verbose #12646 > >
00:07:56 verbose #12647 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:56 verbose #12648 > > inl indexed list =
00:07:56 verbose #12649 > > (([[]], 0), list)
00:07:56 verbose #12650 > > ||> listm.fold fun (acc, i) x =>
00:07:56 verbose #12651 > > (i, x) :: acc, i + 1
00:07:56 verbose #12652 > > |> fst
00:07:56 verbose #12653 > > |> listm.rev
00:07:56 verbose #12654 > 00:07:56 debug #657 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6af5af7b04f0ce88e8aad7c14eaeb16ab74bee0343cff2ccea422e3cfb1ffe1f/main.spi
00:07:57 verbose #12655 > >
00:07:57 verbose #12656 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12657 > > //// test
00:07:57 verbose #12658 > >
00:07:57 verbose #12659 > > listm.init 5i32 ((*) 2)
00:07:57 verbose #12660 > > |> indexed
00:07:57 verbose #12661 > > |> _assert_eq [[ 0i32, 0; 1, 2; 2, 4; 3, 6; 4, 8 ]]
00:07:57 verbose #12662 > 00:07:56 debug #658 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/65bd7e758a17625d0fd331d3b1ae29aff57cfa4b00cc7c818e6309a8bdcb93aa/main.spi
00:07:57 verbose #12663 > >
00:07:57 verbose #12664 > > ╭─[ 112.64ms - stdout ]────────────────────────────────────────────────────────╮
00:07:57 verbose #12665 > > │ assert_eq / actual: UH0_1 (0, 0, UH0_1 (1, 2, UH0_1 (2, 4, UH0_1 (3, 6, │
00:07:57 verbose #12666 > > │ UH0_1 (4, 8, UH0_0))))) / expected: UH0_1 (0, 0, UH0_1 (1, 2, UH0_1 (2, 4, │
00:07:57 verbose #12667 > > │ UH0_1 (3, 6, UH0_1 (4, 8, UH0_0))))) │
00:07:57 verbose #12668 > > │ │
00:07:57 verbose #12669 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12670 > >
00:07:57 verbose #12671 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:57 verbose #12672 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:57 verbose #12673 > > │ ## group_by │
00:07:57 verbose #12674 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12675 > >
00:07:57 verbose #12676 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12677 > > inl group_by fn list =
00:07:57 verbose #12678 > > (list, [[]])
00:07:57 verbose #12679 > > ||> listm.foldBack fun x acc =>
00:07:57 verbose #12680 > > inl xk = fn x
00:07:57 verbose #12681 > > inl found, new_acc =
00:07:57 verbose #12682 > > ((false, [[]]), acc)
00:07:57 verbose #12683 > > ||> listm.fold fun (found, acc') (k, xs) =>
00:07:57 verbose #12684 > > if k = xk
00:07:57 verbose #12685 > > then true, (k, x :: xs) :: acc'
00:07:57 verbose #12686 > > else found, (k, xs) :: acc'
00:07:57 verbose #12687 > > if found
00:07:57 verbose #12688 > > then new_acc
00:07:57 verbose #12689 > > else (xk, [[ x ]]) :: new_acc
00:07:57 verbose #12690 > 00:07:56 debug #659 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6c515bb5bd42b6bac6b694dc7abe421f968ea019ffecd05cd3c6c50a2acf9550/main.spi
00:07:57 verbose #12691 > >
00:07:57 verbose #12692 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12693 > > //// test
00:07:57 verbose #12694 > >
00:07:57 verbose #12695 > > listm.init 10i32 id
00:07:57 verbose #12696 > > |> group_by (fun x => x % 2 = 0)
00:07:57 verbose #12697 > > |> _assert_eq [[ true, [[ 0; 2; 4; 6; 8 ]]; false, [[ 1; 3; 5; 7; 9 ]] ]]
00:07:57 verbose #12698 > 00:07:56 debug #660 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e83ef8524d7c9118b512326400fb30e55419ef6393f2af4addd3490a372b1dfd/main.spi
00:07:57 verbose #12699 > >
00:07:57 verbose #12700 > > ╭─[ 143.32ms - stdout ]────────────────────────────────────────────────────────╮
00:07:57 verbose #12701 > > │ assert_eq / actual: UH1_1 │
00:07:57 verbose #12702 > > │ (true, UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, UH0_0))))), │
00:07:57 verbose #12703 > > │ UH1_1 │
00:07:57 verbose #12704 > > │ (false, UH0_1 (1, UH0_1 (3, UH0_1 (5, UH0_1 (7, UH0_1 (9, UH0_0))))), │
00:07:57 verbose #12705 > > │ UH1_0)) / expected: UH1_1 │
00:07:57 verbose #12706 > > │ (true, UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, UH0_0))))), │
00:07:57 verbose #12707 > > │ UH1_1 │
00:07:57 verbose #12708 > > │ (false, UH0_1 (1, UH0_1 (3, UH0_1 (5, UH0_1 (7, UH0_1 (9, UH0_0))))), │
00:07:57 verbose #12709 > > │ UH1_0)) │
00:07:57 verbose #12710 > > │ │
00:07:57 verbose #12711 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12712 > >
00:07:57 verbose #12713 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:57 verbose #12714 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:57 verbose #12715 > > │ ## forall' │
00:07:57 verbose #12716 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12717 > >
00:07:57 verbose #12718 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12719 > > inl forall' fn (head :: tail) =
00:07:57 verbose #12720 > > (true, tail)
00:07:57 verbose #12721 > > ||> listm.fold fun acc x =>
00:07:57 verbose #12722 > > acc && x = head
00:07:57 verbose #12723 > 00:07:56 debug #661 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1e0bf0e14bea119a02fd462e0c3db7d8d912db7ef51b31b214041a6b371a8872/main.spi
00:07:57 verbose #12724 > >
00:07:57 verbose #12725 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12726 > > //// test
00:07:57 verbose #12727 > >
00:07:57 verbose #12728 > > [[ 1i32; 1; 1; 1; 1 ]]
00:07:57 verbose #12729 > > |> forall' ((=) 1i32)
00:07:57 verbose #12730 > > |> _assert_eq true
00:07:57 verbose #12731 > 00:07:57 debug #662 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4119f5fd28f20b56c81e10c6e909f2f483c4ff00daee668a4d51912552f36b36/main.spi
00:07:57 verbose #12732 > >
00:07:57 verbose #12733 > > ╭─[ 84.21ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:57 verbose #12734 > > │ assert_eq / actual: true / expected: true │
00:07:57 verbose #12735 > > │ │
00:07:57 verbose #12736 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12737 > >
00:07:57 verbose #12738 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:57 verbose #12739 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:57 verbose #12740 > > │ ## last │
00:07:57 verbose #12741 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12742 > >
00:07:57 verbose #12743 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12744 > > inl last list =
00:07:57 verbose #12745 > > list
00:07:57 verbose #12746 > > |> listm.rev
00:07:57 verbose #12747 > > |> item 0i32
00:07:57 verbose #12748 > 00:07:57 debug #663 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/014a2369df16c7e81b8ccef795f3d2f530bfea26e61b762db3e5960210b84492/main.spi
00:07:57 verbose #12749 > >
00:07:57 verbose #12750 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12751 > > //// test
00:07:57 verbose #12752 > >
00:07:57 verbose #12753 > > listm.init 10i32 id
00:07:57 verbose #12754 > > |> last
00:07:57 verbose #12755 > > |> _assert_eq 9
00:07:57 verbose #12756 > 00:07:57 debug #664 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/abba426e0ff200adcb9b802ef8129eb1589b985709b29522f85843b50197f288/main.spi
00:07:57 verbose #12757 > >
00:07:57 verbose #12758 > > ╭─[ 86.30ms - stdout ]─────────────────────────────────────────────────────────╮
00:07:57 verbose #12759 > > │ assert_eq / actual: 9 / expected: 9 │
00:07:57 verbose #12760 > > │ │
00:07:57 verbose #12761 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12762 > >
00:07:57 verbose #12763 > > ── markdown ────────────────────────────────────────────────────────────────────
00:07:57 verbose #12764 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:07:57 verbose #12765 > > │ ## try_pick │
00:07:57 verbose #12766 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12767 > >
00:07:57 verbose #12768 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12769 > > inl try_pick fn list =
00:07:57 verbose #12770 > > inl rec body fn = function
00:07:57 verbose #12771 > > | [[]] => None
00:07:57 verbose #12772 > > | x :: xs =>
00:07:57 verbose #12773 > > match fn x with
00:07:57 verbose #12774 > > | Some y => Some y
00:07:57 verbose #12775 > > | None => loop xs
00:07:57 verbose #12776 > > and inl loop list =
00:07:57 verbose #12777 > > if var_is list |> not
00:07:57 verbose #12778 > > then body fn list
00:07:57 verbose #12779 > > else
00:07:57 verbose #12780 > > inl fn = join fn
00:07:57 verbose #12781 > > inl list = dyn list
00:07:57 verbose #12782 > > join body fn list
00:07:57 verbose #12783 > > loop list
00:07:57 verbose #12784 > 00:07:57 debug #665 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/04befa05c24dcf06c9374f97b53c55bf4a750734ea71829480468063317c6ec0/main.spi
00:07:57 verbose #12785 > >
00:07:57 verbose #12786 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:07:57 verbose #12787 > > //// test
00:07:57 verbose #12788 > >
00:07:57 verbose #12789 > > listm.init 10i32 id
00:07:57 verbose #12790 > > |> try_pick (fun x => if x = 5i32 then Some x else None)
00:07:57 verbose #12791 > > |> _assert_eq (Some 5i32)
00:07:57 verbose #12792 > 00:07:57 debug #666 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/27805a5a7888c15f4a0a7a5b8df4f7b0eac8e52ad76b44f746350f012502160a/main.spi
00:07:57 verbose #12793 > >
00:07:57 verbose #12794 > > ╭─[ 103.47ms - stdout ]────────────────────────────────────────────────────────╮
00:07:57 verbose #12795 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │
00:07:57 verbose #12796 > > │ │
00:07:57 verbose #12797 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:07:57 verbose #12798 > 00:00:10 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 34875
00:07:57 verbose #12799 > 00:00:10 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:07:58 verbose #12800 > 00:00:10 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb to html
00:07:58 verbose #12801 > 00:00:10 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:07:58 verbose #12802 > 00:00:10 verbose #7 ! validate(nb)
00:07:59 verbose #12803 > 00:00:11 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:07:59 verbose #12804 > 00:00:11 verbose #9 ! return _pygments_highlight(
00:07:59 verbose #12805 > 00:00:11 verbose #10 ! [NbConvertApp] Writing 368225 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.html
00:07:59 verbose #12806 > 00:00:11 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 896
00:07:59 verbose #12807 > 00:00:11 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 896
00:07:59 verbose #12808 > 00:00:11 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/listm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/listm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:07:59 verbose #12809 > 00:00:12 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:07:59 verbose #12810 > 00:00:12 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:07:59 verbose #12811 > 00:00:12 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 35830
00:07:59 debug #12812 execute_with_options_async / exit_code: 0 / output.Length: 39617
00:07:59 debug #18 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path listm'.dib --retries 3
00:07:59 debug #12813 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path util.dib --retries 3",
[||], None, None, true, None)
00:07:59 verbose #12814 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "util.dib", "--retries", "3"])
00:07:59 verbose #12815 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:08:01 verbose #12816 > >
00:08:01 verbose #12817 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:01 verbose #12818 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:01 verbose #12819 > > │ # util │
00:08:01 verbose #12820 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:01 verbose #12821 > >
00:08:01 verbose #12822 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:01 verbose #12823 > > //// test
00:08:01 verbose #12824 > >
00:08:01 verbose #12825 > > open testing
00:08:01 verbose #12826 > >
00:08:01 verbose #12827 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:08:01 verbose #12828 > > #r
00:08:01 verbose #12829 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:01 verbose #12830 > > Net.Interactive.Spiral.dll"
00:08:01 verbose #12831 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:08:01 verbose #12832 > > #r
00:08:01 verbose #12833 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:01 verbose #12834 > > Net.Interactive.dll"
00:08:01 verbose #12835 > > open type Microsoft.DotNet.Interactive.Kernel
00:08:03 verbose #12836 > >
00:08:03 verbose #12837 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:03 verbose #12838 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:03 verbose #12839 > > │ ## ski │
00:08:03 verbose #12840 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:03 verbose #12841 > >
00:08:03 verbose #12842 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:03 verbose #12843 > > union rec ski =
00:08:03 verbose #12844 > > | I
00:08:03 verbose #12845 > > | K
00:08:03 verbose #12846 > > | S
00:08:03 verbose #12847 > > | App : ski * ski
00:08:03 verbose #12848 > >
00:08:03 verbose #12849 > > inl rec eval ski =
00:08:03 verbose #12850 > > match ski with
00:08:03 verbose #12851 > > | App (App (K, x), y) => eval x
00:08:03 verbose #12852 > > | App (App (App (S, x), y), z) => eval (App (App (x, z), App (y, z)))
00:08:03 verbose #12853 > > | App (I, x) => eval x
00:08:03 verbose #12854 > > | App (K, x) => App (K, eval x)
00:08:03 verbose #12855 > > | App (f, x) => eval (App (eval f, x))
00:08:03 verbose #12856 > > | _ => ski
00:08:04 verbose #12857 > 00:08:03 debug #667 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/17d6430404553333c19e1564e7cac0e6c2780689697fdbe81dda5f79544f2871/main.spi
00:08:04 verbose #12858 > >
00:08:04 verbose #12859 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:04 verbose #12860 > > //// test
00:08:04 verbose #12861 > >
00:08:04 verbose #12862 > > eval I
00:08:04 verbose #12863 > > |> _assert_eq I
00:08:04 verbose #12864 > >
00:08:04 verbose #12865 > > eval (App (I, I))
00:08:04 verbose #12866 > > |> _assert_eq I
00:08:04 verbose #12867 > >
00:08:04 verbose #12868 > > eval (App (I, App (I, I)))
00:08:04 verbose #12869 > > |> _assert_eq I
00:08:04 verbose #12870 > >
00:08:04 verbose #12871 > > eval (App (App (I, I), I))
00:08:04 verbose #12872 > > |> _assert_eq I
00:08:04 verbose #12873 > >
00:08:04 verbose #12874 > > eval (App (App (App (I, I), I), I))
00:08:04 verbose #12875 > > |> _assert_eq I
00:08:04 verbose #12876 > >
00:08:04 verbose #12877 > > eval K
00:08:04 verbose #12878 > > |> _assert_eq K
00:08:04 verbose #12879 > >
00:08:04 verbose #12880 > > eval (App (K, I))
00:08:04 verbose #12881 > > |> _assert_eq (App (K, I))
00:08:04 verbose #12882 > >
00:08:04 verbose #12883 > > eval (App (K, K))
00:08:04 verbose #12884 > > |> _assert_eq (App (K, K))
00:08:04 verbose #12885 > >
00:08:04 verbose #12886 > > eval (App (App (K, I), K))
00:08:04 verbose #12887 > > |> _assert_eq I
00:08:04 verbose #12888 > >
00:08:04 verbose #12889 > > eval (App (App (K, K), I))
00:08:04 verbose #12890 > > |> _assert_eq K
00:08:04 verbose #12891 > >
00:08:04 verbose #12892 > > eval (App (App (App (App (K, K), I), S), K))
00:08:04 verbose #12893 > > |> _assert_eq S
00:08:04 verbose #12894 > >
00:08:04 verbose #12895 > > eval S
00:08:04 verbose #12896 > > |> _assert_eq S
00:08:04 verbose #12897 > >
00:08:04 verbose #12898 > > eval (App (App (App (S, I), I), I))
00:08:04 verbose #12899 > > |> _assert_eq I
00:08:04 verbose #12900 > >
00:08:04 verbose #12901 > > eval (App (App (App (S, K), K), I))
00:08:04 verbose #12902 > > |> _assert_eq I
00:08:04 verbose #12903 > >
00:08:04 verbose #12904 > > eval (App (App (App (S, K), I), (App (App (K, I), S))))
00:08:04 verbose #12905 > > |> _assert_eq I
00:08:04 verbose #12906 > >
00:08:04 verbose #12907 > > eval (App (App (K, S), App (I, App (App (App (S, K), S), I))))
00:08:04 verbose #12908 > > |> _assert_eq S
00:08:04 verbose #12909 > >
00:08:04 verbose #12910 > > eval (App (App (App (S, K), I), K))
00:08:04 verbose #12911 > > |> _assert_eq K
00:08:04 verbose #12912 > 00:08:03 debug #668 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/27af311d9dd7364143a3c168fdc161558ffb7d65cba5984f4851a286e13dc0b8/main.spi
00:08:05 verbose #12913 > >
00:08:05 verbose #12914 > > ╭─[ 888.70ms - stdout ]────────────────────────────────────────────────────────╮
00:08:05 verbose #12915 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12916 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12917 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12918 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12919 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12920 > > │ assert_eq / actual: UH0_1 / expected: UH0_1 │
00:08:05 verbose #12921 > > │ assert_eq / actual: UH0_3 (UH0_1, UH0_0) / expected: UH0_3 (UH0_1, UH0_0) │
00:08:05 verbose #12922 > > │ assert_eq / actual: UH0_3 (UH0_1, UH0_1) / expected: UH0_3 (UH0_1, UH0_1) │
00:08:05 verbose #12923 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12924 > > │ assert_eq / actual: UH0_1 / expected: UH0_1 │
00:08:05 verbose #12925 > > │ assert_eq / actual: UH0_2 / expected: UH0_2 │
00:08:05 verbose #12926 > > │ assert_eq / actual: UH0_2 / expected: UH0_2 │
00:08:05 verbose #12927 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12928 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12929 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │
00:08:05 verbose #12930 > > │ assert_eq / actual: UH0_2 / expected: UH0_2 │
00:08:05 verbose #12931 > > │ assert_eq / actual: UH0_1 / expected: UH0_1 │
00:08:05 verbose #12932 > > │ │
00:08:05 verbose #12933 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:05 verbose #12934 > 00:00:05 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 4796
00:08:05 verbose #12935 > 00:00:05 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:08:05 verbose #12936 > 00:00:06 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb to html
00:08:05 verbose #12937 > 00:00:06 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:08:05 verbose #12938 > 00:00:06 verbose #7 ! validate(nb)
00:08:06 verbose #12939 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:08:06 verbose #12940 > 00:00:06 verbose #9 ! return _pygments_highlight(
00:08:06 verbose #12941 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 284174 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/util.dib.html
00:08:06 verbose #12942 > 00:00:06 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 892
00:08:06 verbose #12943 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 892
00:08:06 verbose #12944 > 00:00:06 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:08:06 verbose #12945 > 00:00:06 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:08:06 verbose #12946 > 00:00:06 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:08:06 verbose #12947 > 00:00:06 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 5747
00:08:06 debug #12948 execute_with_options_async / exit_code: 0 / output.Length: 8354
00:08:06 debug #19 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path util.dib --retries 3
00:08:06 debug #12949 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path stream.dib --retries 3",
[||], None, None, true, None)
00:08:06 verbose #12950 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "stream.dib", "--retries", "3"])
00:08:06 verbose #12951 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:08:08 verbose #12952 > >
00:08:08 verbose #12953 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:08 verbose #12954 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:08 verbose #12955 > > │ # stream │
00:08:08 verbose #12956 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:08 verbose #12957 > >
00:08:08 verbose #12958 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:08 verbose #12959 > > open rust_operators
00:08:08 verbose #12960 > >
00:08:08 verbose #12961 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:08:08 verbose #12962 > > #r
00:08:08 verbose #12963 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:08 verbose #12964 > > Net.Interactive.Spiral.dll"
00:08:08 verbose #12965 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:08:08 verbose #12966 > > #r
00:08:08 verbose #12967 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:08 verbose #12968 > > Net.Interactive.dll"
00:08:08 verbose #12969 > > open type Microsoft.DotNet.Interactive.Kernel
00:08:10 verbose #12970 > >
00:08:10 verbose #12971 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:10 verbose #12972 > > //// test
00:08:10 verbose #12973 > >
00:08:10 verbose #12974 > > open testing
00:08:10 verbose #12975 > >
00:08:10 verbose #12976 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:10 verbose #12977 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:10 verbose #12978 > > │ ## types │
00:08:10 verbose #12979 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:10 verbose #12980 > >
00:08:10 verbose #12981 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:10 verbose #12982 > > inl types () =
00:08:10 verbose #12983 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:10 verbose #12984 > > Fable.Core.Emit(\"async_std::io::BufReader<$0>\")>]]\n#endif\ntype
00:08:10 verbose #12985 > > async_std_io_BufReader<'T> = class end"
00:08:10 verbose #12986 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:10 verbose #12987 > > Fable.Core.Emit(\"std::io::BufReader<$0>\")>]]\n#endif\ntype
00:08:10 verbose #12988 > > std_io_BufReader<'T> = class end"
00:08:10 verbose #12989 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:10 verbose #12990 > > Fable.Core.Emit(\"std::io::Error\")>]]\n#endif\ntype std_io_Error = class end"
00:08:10 verbose #12991 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:10 verbose #12992 > > Fable.Core.Emit(\"std::io::Lines<$0>\")>]]\n#endif\ntype std_io_Lines<'T> =
00:08:10 verbose #12993 > > class end"
00:08:10 verbose #12994 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:10 verbose #12995 > > Fable.Core.Emit(\"encoding_rs_io::DecodeReaderBytes<$0, $1>\")>]]\n#endif\ntype
00:08:10 verbose #12996 > > encoding_rs_io_DecodeReaderBytes<'T, 'U> = class end"
00:08:11 verbose #12997 > 00:08:10 debug #669 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/97ac3cb53674a44c82a6e560339d622322d903121e6d78aea249ea0153eeed88/main.spi
00:08:11 verbose #12998 > >
00:08:11 verbose #12999 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13000 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13001 > > │ ## io_error │
00:08:11 verbose #13002 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13003 > >
00:08:11 verbose #13004 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13005 > > nominal io_error = $"std_io_Error"
00:08:11 verbose #13006 > 00:08:10 debug #670 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/af88bb0b6283a9231da04f41e622e9c38daf8604028f76f6c8507774bb7c06d3/main.spi
00:08:11 verbose #13007 > >
00:08:11 verbose #13008 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13009 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13010 > > │ ## buf_reader │
00:08:11 verbose #13011 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13012 > >
00:08:11 verbose #13013 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13014 > > nominal buf_reader t = $'std_io_BufReader<`t>'
00:08:11 verbose #13015 > 00:08:11 debug #671 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e9bd17ab4dce47552a1e5de57ad9867c932c823c501dd1db0961d3a87aaa0c76/main.spi
00:08:11 verbose #13016 > >
00:08:11 verbose #13017 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13018 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13019 > > │ ## async_buf_reader │
00:08:11 verbose #13020 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13021 > >
00:08:11 verbose #13022 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13023 > > nominal async_buf_reader t = $'async_std_io_BufReader<`t>'
00:08:11 verbose #13024 > 00:08:11 debug #672 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7b355b9a5f0b638edc475ba4e2f67167bfe67ed866813b7a1ba5cae5d15319bf/main.spi
00:08:11 verbose #13025 > >
00:08:11 verbose #13026 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13027 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13028 > > │ ## new_buf_reader │
00:08:11 verbose #13029 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13030 > >
00:08:11 verbose #13031 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13032 > > inl new_buf_reader forall t. (x : t) : buf_reader t =
00:08:11 verbose #13033 > > !\($'"std::io::BufReader::new(!x)"')
00:08:11 verbose #13034 > 00:08:11 debug #673 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0a988c1bcb8919db809a4d98b5b44c68b8e8bde02b670b7807139dd487b45917/main.spi
00:08:11 verbose #13035 > >
00:08:11 verbose #13036 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13037 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13038 > > │ ## lines │
00:08:11 verbose #13039 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13040 > >
00:08:11 verbose #13041 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13042 > > nominal lines t = $'std_io_Lines<`t>'
00:08:11 verbose #13043 > 00:08:11 debug #674 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e4218b10597c688060cc9f058b4b2cac017819cea468041c5849310216c60361/main.spi
00:08:11 verbose #13044 > >
00:08:11 verbose #13045 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13046 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13047 > > │ ## buf_read_lines │
00:08:11 verbose #13048 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13049 > >
00:08:11 verbose #13050 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13051 > > inl buf_read_lines forall t. (buf_reader : buf_reader t) : lines (buf_reader t)
00:08:11 verbose #13052 > > =
00:08:11 verbose #13053 > > !\($'"std::io::BufRead::lines(!buf_reader)"')
00:08:11 verbose #13054 > 00:08:11 debug #675 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bf1331edade73d1d9e0d1720aef34819c818bade0b2eec4367b26d3d1d2c3632/main.spi
00:08:11 verbose #13055 > >
00:08:11 verbose #13056 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13057 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13058 > > │ ## decode_reader_bytes │
00:08:11 verbose #13059 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13060 > >
00:08:11 verbose #13061 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13062 > > nominal decode_reader_bytes t u = $'encoding_rs_io_DecodeReaderBytes<`t, `u>'
00:08:11 verbose #13063 > 00:08:11 debug #676 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5fe14eded14a384d2d65e66037294f0647193a0801ffe5e126de518a6de61db6/main.spi
00:08:11 verbose #13064 > >
00:08:11 verbose #13065 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13066 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13067 > > │ ## decode_reader_bytes_build │
00:08:11 verbose #13068 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13069 > >
00:08:11 verbose #13070 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13071 > > inl decode_reader_bytes_build forall t. (x : t) : decode_reader_bytes t (am'.vec
00:08:11 verbose #13072 > > u8) =
00:08:11 verbose #13073 > >
00:08:11 verbose #13074 > > !\($'"encoding_rs_io::DecodeReaderBytesBuilder::new().encoding(Some(encoding_rs:
00:08:11 verbose #13075 > > :UTF_8)).build(!x)"')
00:08:11 verbose #13076 > >
00:08:11 verbose #13077 > > !\($'"encoding_rs_io::DecodeReaderBytesBuilder::new().encoding(Some(encoding_rs:
00:08:11 verbose #13078 > > :UTF_8)).utf8_passthru(true).build(!x)"')
00:08:11 verbose #13079 > > !\\(x,
00:08:11 verbose #13080 > > $'"encoding_rs_io::DecodeReaderBytesBuilder::new().utf8_passthru(true).build($0)
00:08:11 verbose #13081 > > "')
00:08:11 verbose #13082 > > // !\($'"encoding_rs_io::DecodeReaderBytes::new(!x)"')
00:08:11 verbose #13083 > 00:08:11 debug #677 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c84da37fe747e614b77d9b37ed8f232c5145b6b923bd9664a95cfa19a7635cbb/main.spi
00:08:11 verbose #13084 > >
00:08:11 verbose #13085 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:11 verbose #13086 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:11 verbose #13087 > > │ ## buf_reader_read │
00:08:11 verbose #13088 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:11 verbose #13089 > >
00:08:11 verbose #13090 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:11 verbose #13091 > > inl buf_reader_read forall el dim. (slice : am'.slice' el dim) (buf_reader :
00:08:11 verbose #13092 > > buf_reader el) : resultm.result' unativeint io_error =
00:08:11 verbose #13093 > > (!\($'"true; let mut !slice = !slice"') : bool) |> ignore
00:08:11 verbose #13094 > > !\($'"std::io::Read::read(&mut !buf_reader, &mut !slice)"')
00:08:11 verbose #13095 > 00:08:11 debug #678 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aa81753a91766f760584e56e3efb7d581969339f642d110e6f3231d29f293058/main.spi
00:08:12 verbose #13096 > >
00:08:12 verbose #13097 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:12 verbose #13098 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:12 verbose #13099 > > │ ## io_read_by_ref │
00:08:12 verbose #13100 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:12 verbose #13101 > >
00:08:12 verbose #13102 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13103 > > inl io_read_by_ref forall t. (lines : lines t) : lines t =
00:08:12 verbose #13104 > > !\\(lines, $'"std::io::Read::by_ref($0)"')
00:08:12 verbose #13105 > 00:08:11 debug #679 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f1d6f949373ff9fece96c6ee673a645939f54872c97f47cb28aa83bb9d08780f/main.spi
00:08:12 verbose #13106 > >
00:08:12 verbose #13107 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:12 verbose #13108 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:12 verbose #13109 > > │ ## stream │
00:08:12 verbose #13110 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:12 verbose #13111 > >
00:08:12 verbose #13112 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13113 > > union rec stream t =
00:08:12 verbose #13114 > > | StreamCons : t * (() -> stream t)
00:08:12 verbose #13115 > > | StreamNil
00:08:12 verbose #13116 > 00:08:11 debug #680 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a56da9de474f299c49f64915c2239c5a14b461face93569037fa85c2109a11a0/main.spi
00:08:12 verbose #13117 > >
00:08:12 verbose #13118 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:12 verbose #13119 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:12 verbose #13120 > > │ ## fold │
00:08:12 verbose #13121 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:12 verbose #13122 > >
00:08:12 verbose #13123 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13124 > > inl fold fn init s =
00:08:12 verbose #13125 > > inl rec body acc = function
00:08:12 verbose #13126 > > | StreamCons (st, fn') => loop (fn acc st) (fn' ())
00:08:12 verbose #13127 > > | StreamNil => acc
00:08:12 verbose #13128 > > and inl loop acc = join_body body acc
00:08:12 verbose #13129 > > loop init s
00:08:12 verbose #13130 > 00:08:11 debug #681 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2a6ef1c0367feed2ec6a7daabddc28f039af3b717356c1e9eae4daddf2c72a9/main.spi
00:08:12 verbose #13131 > >
00:08:12 verbose #13132 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:12 verbose #13133 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:12 verbose #13134 > > │ ## fold_back │
00:08:12 verbose #13135 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:12 verbose #13136 > >
00:08:12 verbose #13137 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13138 > > inl fold_back fn s init =
00:08:12 verbose #13139 > > inl rec body acc = function
00:08:12 verbose #13140 > > | StreamCons (st, fn') => fn st (loop acc (fn' ()))
00:08:12 verbose #13141 > > | StreamNil => acc
00:08:12 verbose #13142 > > and inl loop acc = join_body body acc
00:08:12 verbose #13143 > > loop init s
00:08:12 verbose #13144 > 00:08:11 debug #682 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9871500ee49349a820e3e3f97d06c181e2e414a3088211cf56ed71f49239acdf/main.spi
00:08:12 verbose #13145 > >
00:08:12 verbose #13146 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:12 verbose #13147 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:12 verbose #13148 > > │ ## to_list │
00:08:12 verbose #13149 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:12 verbose #13150 > >
00:08:12 verbose #13151 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13152 > > inl to_list s =
00:08:12 verbose #13153 > > (s, [[]])
00:08:12 verbose #13154 > > ||> fold_back fun x acc =>
00:08:12 verbose #13155 > > x :: acc
00:08:12 verbose #13156 > 00:08:11 debug #683 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a5ff0c890322ce05edab546a2e167f28cd44d90a653a6e4492908aa5db6e973f/main.spi
00:08:12 verbose #13157 > >
00:08:12 verbose #13158 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:12 verbose #13159 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:12 verbose #13160 > > │ ## rev │
00:08:12 verbose #13161 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:12 verbose #13162 > >
00:08:12 verbose #13163 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13164 > > inl rev s =
00:08:12 verbose #13165 > > (StreamNil, s)
00:08:12 verbose #13166 > > ||> fold fun s x =>
00:08:12 verbose #13167 > > StreamCons (x, fun () => s)
00:08:12 verbose #13168 > 00:08:11 debug #684 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ab2bc13ccfba27d2d8445ee4dbdefc323285d19d9a9b4d15d04f07db1abebc41/main.spi
00:08:12 verbose #13169 > >
00:08:12 verbose #13170 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:12 verbose #13171 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:12 verbose #13172 > > │ ## from_list │
00:08:12 verbose #13173 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:12 verbose #13174 > >
00:08:12 verbose #13175 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13176 > > inl from_list list =
00:08:12 verbose #13177 > > (list, StreamNil)
00:08:12 verbose #13178 > > ||> listm.foldBack fun x acc =>
00:08:12 verbose #13179 > > StreamCons (x, fun () => acc)
00:08:12 verbose #13180 > 00:08:12 debug #685 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/667b3fff7fcce6736684d322239abc834c0edcf774f9bf69b03e4afedf2c3c8d/main.spi
00:08:12 verbose #13181 > >
00:08:12 verbose #13182 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:12 verbose #13183 > > //// test
00:08:12 verbose #13184 > >
00:08:12 verbose #13185 > > listm.init 3i32 id
00:08:12 verbose #13186 > > |> from_list
00:08:12 verbose #13187 > > |> rev
00:08:12 verbose #13188 > > |> to_list
00:08:12 verbose #13189 > > |> _assert_eq [[ 2; 1; 0 ]]
00:08:12 verbose #13190 > 00:08:12 debug #686 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/01d9214a6b702556eaea01b1ac3de7cd90347dd3e562fcb8a75eec88793c495a/main.spi
00:08:13 verbose #13191 > >
00:08:13 verbose #13192 > > ╭─[ 774.21ms - stdout ]────────────────────────────────────────────────────────╮
00:08:13 verbose #13193 > > │ assert_eq / actual: UH0_1 (2, UH0_1 (1, UH0_1 (0, UH0_0))) / expected: UH0_1 │
00:08:13 verbose #13194 > > │ (2, UH0_1 (1, UH0_1 (0, UH0_0))) │
00:08:13 verbose #13195 > > │ │
00:08:13 verbose #13196 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:13 verbose #13197 > >
00:08:13 verbose #13198 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:13 verbose #13199 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:13 verbose #13200 > > │ ## try_item │
00:08:13 verbose #13201 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:13 verbose #13202 > >
00:08:13 verbose #13203 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:13 verbose #13204 > > inl try_item i s =
00:08:13 verbose #13205 > > inl rec body i = function
00:08:13 verbose #13206 > > | StreamCons (x, _) when i <= 0 => Some x
00:08:13 verbose #13207 > > | StreamCons (_, fn) => loop (i - 1) (fn ())
00:08:13 verbose #13208 > > | StreamNil => None
00:08:13 verbose #13209 > > and inl loop acc s' =
00:08:13 verbose #13210 > > match var_is acc, var_is s' with
00:08:13 verbose #13211 > > | false, false => body acc s'
00:08:13 verbose #13212 > > | _ =>
00:08:13 verbose #13213 > > inl acc = dyn acc
00:08:13 verbose #13214 > > inl s' = dyn s'
00:08:13 verbose #13215 > > join body acc s'
00:08:13 verbose #13216 > > loop i s
00:08:13 verbose #13217 > >
00:08:13 verbose #13218 > > inl item i =
00:08:13 verbose #13219 > > try_item i >> optionm.value
00:08:13 verbose #13220 > 00:08:12 debug #687 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8c21f9077da87ab0788e71ef16dfd8a1e5138b5c7ec7b73ea8b4bb67b3d77366/main.spi
00:08:13 verbose #13221 > >
00:08:13 verbose #13222 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:13 verbose #13223 > > //// test
00:08:13 verbose #13224 > >
00:08:13 verbose #13225 > > listm.init 10i32 id
00:08:13 verbose #13226 > > |> from_list
00:08:13 verbose #13227 > > |> item 9i32
00:08:13 verbose #13228 > > |> _assert_eq 9
00:08:13 verbose #13229 > 00:08:12 debug #688 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5e5bc8e58e945f598aef4a859cf6eed655828787064ee05100d0714bc7d4af0e/main.spi
00:08:13 verbose #13230 > >
00:08:13 verbose #13231 > > ╭─[ 186.19ms - stdout ]────────────────────────────────────────────────────────╮
00:08:13 verbose #13232 > > │ assert_eq / actual: 9 / expected: 9 │
00:08:13 verbose #13233 > > │ │
00:08:13 verbose #13234 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:13 verbose #13235 > >
00:08:13 verbose #13236 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:13 verbose #13237 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:13 verbose #13238 > > │ ## new_infinite_stream │
00:08:13 verbose #13239 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:13 verbose #13240 > >
00:08:13 verbose #13241 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:13 verbose #13242 > > inl new_infinite_stream fn =
00:08:13 verbose #13243 > > inl rec loop n =
00:08:13 verbose #13244 > > StreamCons (fn n, fun () => loop (n + 1))
00:08:13 verbose #13245 > > loop 0
00:08:13 verbose #13246 > >
00:08:13 verbose #13247 > > inl new_infinite_stream_ fn =
00:08:13 verbose #13248 > > let rec loop n =
00:08:13 verbose #13249 > > StreamCons (fn n, fun () => loop (n + 1))
00:08:13 verbose #13250 > > loop 0
00:08:13 verbose #13251 > 00:08:13 debug #689 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eac3b6de3c167cee2041f6e37af353305c4488c8b15b3c785834970e4a6b4f6a/main.spi
00:08:13 verbose #13252 > >
00:08:13 verbose #13253 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:13 verbose #13254 > > //// test
00:08:13 verbose #13255 > >
00:08:13 verbose #13256 > > new_infinite_stream print_and_return
00:08:13 verbose #13257 > > |> item 4i32
00:08:13 verbose #13258 > > |> _assert_eq 4i32
00:08:13 verbose #13259 > 00:08:13 debug #690 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7b25ab784f20adbd112edb2de9c48e19c7438641d74abb83b384bd1d2583a4c9/main.spi
00:08:13 verbose #13260 > >
00:08:13 verbose #13261 > > ╭─[ 96.18ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:13 verbose #13262 > > │ print_and_return / x: 0 │
00:08:13 verbose #13263 > > │ print_and_return / x: 1 │
00:08:13 verbose #13264 > > │ print_and_return / x: 2 │
00:08:13 verbose #13265 > > │ print_and_return / x: 3 │
00:08:13 verbose #13266 > > │ print_and_return / x: 4 │
00:08:13 verbose #13267 > > │ assert_eq / actual: 4 / expected: 4 │
00:08:13 verbose #13268 > > │ │
00:08:13 verbose #13269 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:13 verbose #13270 > >
00:08:13 verbose #13271 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:13 verbose #13272 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:13 verbose #13273 > > │ ## new_finite_stream │
00:08:13 verbose #13274 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:13 verbose #13275 > >
00:08:13 verbose #13276 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:13 verbose #13277 > > inl new_finite_stream fn max =
00:08:13 verbose #13278 > > inl rec loop n =
00:08:13 verbose #13279 > > if n >= max
00:08:13 verbose #13280 > > then StreamNil
00:08:13 verbose #13281 > > else StreamCons (fn n, fun () => loop (n + 1))
00:08:13 verbose #13282 > > loop 0
00:08:13 verbose #13283 > 00:08:13 debug #691 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b69df32a4abbea4943598b16ba45d49d4191f8ebb2f429ef0229612f3b56662a/main.spi
00:08:13 verbose #13284 > >
00:08:13 verbose #13285 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:13 verbose #13286 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:13 verbose #13287 > > │ ## memoize │
00:08:13 verbose #13288 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:13 verbose #13289 > >
00:08:13 verbose #13290 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:13 verbose #13291 > > union memoized_stream t =
00:08:13 verbose #13292 > > | NotComputed : () -> stream t
00:08:13 verbose #13293 > > | Computed : stream t
00:08:13 verbose #13294 > >
00:08:13 verbose #13295 > > inl memoize s =
00:08:13 verbose #13296 > > inl rec body s =
00:08:13 verbose #13297 > > inl state = mut (NotComputed s)
00:08:13 verbose #13298 > > fun () =>
00:08:13 verbose #13299 > > match *state with
00:08:13 verbose #13300 > > | Computed x => x
00:08:13 verbose #13301 > > | NotComputed fn =>
00:08:13 verbose #13302 > > inl new_state =
00:08:13 verbose #13303 > > match fn () with
00:08:13 verbose #13304 > > | StreamNil => StreamNil
00:08:13 verbose #13305 > > | StreamCons (x, fn) => StreamCons (x, loop fn)
00:08:13 verbose #13306 > > state <- Computed new_state
00:08:13 verbose #13307 > > new_state
00:08:13 verbose #13308 > > and inl loop s' = join_body_unit body s s'
00:08:13 verbose #13309 > > loop (fun () => s)
00:08:13 verbose #13310 > 00:08:13 debug #692 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e0987410df334a0e75abded1a622246a028c4dd76caaa76960be503611151153/main.spi
00:08:13 verbose #13311 > >
00:08:13 verbose #13312 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:13 verbose #13313 > > //// test
00:08:13 verbose #13314 > >
00:08:13 verbose #13315 > > inl memo_stream = new_finite_stream print_and_return 10 |> memoize
00:08:13 verbose #13316 > >
00:08:13 verbose #13317 > > memo_stream ()
00:08:13 verbose #13318 > > |> item 3i32
00:08:13 verbose #13319 > > |> _assert_eq 3i32
00:08:13 verbose #13320 > >
00:08:13 verbose #13321 > > memo_stream ()
00:08:13 verbose #13322 > > |> item 5i32
00:08:13 verbose #13323 > > |> _assert_eq 5i32
00:08:13 verbose #13324 > 00:08:13 debug #693 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e5433269128730a723f5d535b3dff535a742c5d7343f75d68d56eefd6b5d99e2/main.spi
00:08:14 verbose #13325 > >
00:08:14 verbose #13326 > > ╭─[ 341.82ms - stdout ]────────────────────────────────────────────────────────╮
00:08:14 verbose #13327 > > │ print_and_return / x: 0 │
00:08:14 verbose #13328 > > │ print_and_return / x: 1 │
00:08:14 verbose #13329 > > │ print_and_return / x: 2 │
00:08:14 verbose #13330 > > │ print_and_return / x: 3 │
00:08:14 verbose #13331 > > │ assert_eq / actual: 3 / expected: 3 │
00:08:14 verbose #13332 > > │ print_and_return / x: 4 │
00:08:14 verbose #13333 > > │ print_and_return / x: 5 │
00:08:14 verbose #13334 > > │ assert_eq / actual: 5 / expected: 5 │
00:08:14 verbose #13335 > > │ │
00:08:14 verbose #13336 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13337 > >
00:08:14 verbose #13338 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13339 > > //// test
00:08:14 verbose #13340 > >
00:08:14 verbose #13341 > > inl memo_stream = new_infinite_stream_ print_and_return |> memoize
00:08:14 verbose #13342 > >
00:08:14 verbose #13343 > > memo_stream ()
00:08:14 verbose #13344 > > |> item 3i32
00:08:14 verbose #13345 > > |> _assert_eq 3i32
00:08:14 verbose #13346 > >
00:08:14 verbose #13347 > > memo_stream ()
00:08:14 verbose #13348 > > |> item 5i32
00:08:14 verbose #13349 > > |> _assert_eq 5i32
00:08:14 verbose #13350 > 00:08:13 debug #694 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8960a7667c2d2e158d514f23bf963318c7d29b66903df9e5b7bfd72b00f8056f/main.spi
00:08:14 verbose #13351 > >
00:08:14 verbose #13352 > > ╭─[ 134.00ms - stdout ]────────────────────────────────────────────────────────╮
00:08:14 verbose #13353 > > │ print_and_return / x: 0 │
00:08:14 verbose #13354 > > │ print_and_return / x: 1 │
00:08:14 verbose #13355 > > │ print_and_return / x: 2 │
00:08:14 verbose #13356 > > │ print_and_return / x: 3 │
00:08:14 verbose #13357 > > │ assert_eq / actual: 3 / expected: 3 │
00:08:14 verbose #13358 > > │ print_and_return / x: 4 │
00:08:14 verbose #13359 > > │ print_and_return / x: 5 │
00:08:14 verbose #13360 > > │ assert_eq / actual: 5 / expected: 5 │
00:08:14 verbose #13361 > > │ │
00:08:14 verbose #13362 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13363 > >
00:08:14 verbose #13364 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:14 verbose #13365 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:14 verbose #13366 > > │ ## unfold │
00:08:14 verbose #13367 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13368 > >
00:08:14 verbose #13369 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13370 > > inl unfold f x0 =
00:08:14 verbose #13371 > > inl rec body x =
00:08:14 verbose #13372 > > match f x with
00:08:14 verbose #13373 > > | Some (x', y) => StreamCons (x', fun () => loop y)
00:08:14 verbose #13374 > > | None => StreamNil
00:08:14 verbose #13375 > > and inl loop x = join_body_unit body x0 x
00:08:14 verbose #13376 > > loop x0
00:08:14 verbose #13377 > 00:08:13 debug #695 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1bfef985e5a9b2c188ec929d592a49046a76f8cc7110bbd7c9aadc826b224d84/main.spi
00:08:14 verbose #13378 > >
00:08:14 verbose #13379 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:14 verbose #13380 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:14 verbose #13381 > > │ ## iterate │
00:08:14 verbose #13382 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13383 > >
00:08:14 verbose #13384 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13385 > > inl iterate f =
00:08:14 verbose #13386 > > unfold (fun x => Some (x, f x))
00:08:14 verbose #13387 > 00:08:14 debug #696 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e76f34d3474d316428e6b3a7a75d177078cdfc5f696310a636b91ad7aa6fb779/main.spi
00:08:14 verbose #13388 > >
00:08:14 verbose #13389 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13390 > > //// test
00:08:14 verbose #13391 > >
00:08:14 verbose #13392 > > iterate ((*) 2) 1i32
00:08:14 verbose #13393 > > |> item 10i32
00:08:14 verbose #13394 > > |> _assert_eq 1024
00:08:14 verbose #13395 > 00:08:14 debug #697 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/906d23ac693436866bf231403fac485992199fce2d9e28931df9f2f39b7cb19e/main.spi
00:08:14 verbose #13396 > >
00:08:14 verbose #13397 > > ╭─[ 79.88ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:14 verbose #13398 > > │ assert_eq / actual: 1024 / expected: 1024 │
00:08:14 verbose #13399 > > │ │
00:08:14 verbose #13400 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13401 > >
00:08:14 verbose #13402 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:14 verbose #13403 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:14 verbose #13404 > > │ ## take_while │
00:08:14 verbose #13405 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13406 > >
00:08:14 verbose #13407 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13408 > > inl take_while cond s =
00:08:14 verbose #13409 > > inl rec body i = function
00:08:14 verbose #13410 > > | StreamCons (st, fn) when cond st i => StreamCons (st, fun () => loop
00:08:14 verbose #13411 > > (i + 1) (fn ()))
00:08:14 verbose #13412 > > | _ => StreamNil
00:08:14 verbose #13413 > > and inl loop i = join_body body i
00:08:14 verbose #13414 > > loop 0 s
00:08:14 verbose #13415 > 00:08:14 debug #698 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8aa1b90ffdf94b07897d81a8f78c1a391a7cdc6c7e1818ecd9c063e94372f7ba/main.spi
00:08:14 verbose #13416 > >
00:08:14 verbose #13417 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:14 verbose #13418 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:14 verbose #13419 > > │ ## sum │
00:08:14 verbose #13420 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13421 > >
00:08:14 verbose #13422 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13423 > > inl sum seq =
00:08:14 verbose #13424 > > seq |> fold (+) 0
00:08:14 verbose #13425 > 00:08:14 debug #699 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d996e53efb0bfa194377c83878a0f70d371210322881877f1c5d5bc47e8d761d/main.spi
00:08:14 verbose #13426 > >
00:08:14 verbose #13427 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13428 > > //// test
00:08:14 verbose #13429 > >
00:08:14 verbose #13430 > > listm.init 10i32 id
00:08:14 verbose #13431 > > |> from_list
00:08:14 verbose #13432 > > |> sum
00:08:14 verbose #13433 > > |> _assert_eq 45
00:08:14 verbose #13434 > 00:08:14 debug #700 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/112010711cbe56c687c56746cae61e4c2562a485b64899f96ccd33ddd2e16fc8/main.spi
00:08:14 verbose #13435 > >
00:08:14 verbose #13436 > > ╭─[ 88.20ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:14 verbose #13437 > > │ assert_eq / actual: 45 / expected: 45 │
00:08:14 verbose #13438 > > │ │
00:08:14 verbose #13439 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13440 > >
00:08:14 verbose #13441 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13442 > > //// test
00:08:14 verbose #13443 > >
00:08:14 verbose #13444 > > new_finite_stream print_and_return 10i32
00:08:14 verbose #13445 > > |> take_while (fun n (_ : i32) => n < 5)
00:08:14 verbose #13446 > > |> sum
00:08:14 verbose #13447 > > |> _assert_eq 10
00:08:14 verbose #13448 > 00:08:14 debug #701 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4c1b55c94e479d2dd4d147834e8e23ebecaedee0f60508fbc06b864bb4382097/main.spi
00:08:14 verbose #13449 > >
00:08:14 verbose #13450 > > ╭─[ 90.27ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:14 verbose #13451 > > │ print_and_return / x: 0 │
00:08:14 verbose #13452 > > │ print_and_return / x: 1 │
00:08:14 verbose #13453 > > │ print_and_return / x: 2 │
00:08:14 verbose #13454 > > │ print_and_return / x: 3 │
00:08:14 verbose #13455 > > │ print_and_return / x: 4 │
00:08:14 verbose #13456 > > │ print_and_return / x: 5 │
00:08:14 verbose #13457 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:14 verbose #13458 > > │ │
00:08:14 verbose #13459 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:14 verbose #13460 > >
00:08:14 verbose #13461 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:14 verbose #13462 > > //// test
00:08:14 verbose #13463 > >
00:08:14 verbose #13464 > > new_infinite_stream print_and_return
00:08:14 verbose #13465 > > |> take_while (fun n (_ : i32) => n < 5i32)
00:08:14 verbose #13466 > > |> sum
00:08:14 verbose #13467 > > |> _assert_eq 10
00:08:14 verbose #13468 > 00:08:14 debug #702 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/44634a4ec0a30abd29f44e900703e5c37f9dca6d3f365189d15b6ee4926dc1e9/main.spi
00:08:15 verbose #13469 > >
00:08:15 verbose #13470 > > ╭─[ 93.01ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:15 verbose #13471 > > │ print_and_return / x: 0 │
00:08:15 verbose #13472 > > │ print_and_return / x: 1 │
00:08:15 verbose #13473 > > │ print_and_return / x: 2 │
00:08:15 verbose #13474 > > │ print_and_return / x: 3 │
00:08:15 verbose #13475 > > │ print_and_return / x: 4 │
00:08:15 verbose #13476 > > │ print_and_return / x: 5 │
00:08:15 verbose #13477 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:15 verbose #13478 > > │ │
00:08:15 verbose #13479 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13480 > >
00:08:15 verbose #13481 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13482 > > //// test
00:08:15 verbose #13483 > >
00:08:15 verbose #13484 > > iterate ((*) 6) 1i32
00:08:15 verbose #13485 > > |> take_while (fun _ i => i <= 7i32)
00:08:15 verbose #13486 > > |> to_list
00:08:15 verbose #13487 > > |> _assert_eq [[ 1i32; 6; 36; 216; 1296; 7776; 46656; 279936 ]]
00:08:15 verbose #13488 > 00:08:14 debug #703 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cbd77e183c70c5a6190e626cb2bf14cd3dae4ef92540357349230d15f3195e1b/main.spi
00:08:15 verbose #13489 > >
00:08:15 verbose #13490 > > ╭─[ 157.84ms - stdout ]────────────────────────────────────────────────────────╮
00:08:15 verbose #13491 > > │ assert_eq / actual: UH0_1 │
00:08:15 verbose #13492 > > │ (1, │
00:08:15 verbose #13493 > > │ UH0_1 │
00:08:15 verbose #13494 > > │ (6, │
00:08:15 verbose #13495 > > │ UH0_1 │
00:08:15 verbose #13496 > > │ (36, │
00:08:15 verbose #13497 > > │ UH0_1 │
00:08:15 verbose #13498 > > │ (216, │
00:08:15 verbose #13499 > > │ UH0_1 (1296, UH0_1 (7776, UH0_1 (46656, UH0_1 (279936, │
00:08:15 verbose #13500 > > │ UH0_0)))))))) / expected: UH0_1 │
00:08:15 verbose #13501 > > │ (1, │
00:08:15 verbose #13502 > > │ UH0_1 │
00:08:15 verbose #13503 > > │ (6, │
00:08:15 verbose #13504 > > │ UH0_1 │
00:08:15 verbose #13505 > > │ (36, │
00:08:15 verbose #13506 > > │ UH0_1 │
00:08:15 verbose #13507 > > │ (216, │
00:08:15 verbose #13508 > > │ UH0_1 (1296, UH0_1 (7776, UH0_1 (46656, UH0_1 (279936, │
00:08:15 verbose #13509 > > │ UH0_0)))))))) │
00:08:15 verbose #13510 > > │ │
00:08:15 verbose #13511 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13512 > >
00:08:15 verbose #13513 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:15 verbose #13514 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:15 verbose #13515 > > │ ## indexed │
00:08:15 verbose #13516 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13517 > >
00:08:15 verbose #13518 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13519 > > inl indexed s =
00:08:15 verbose #13520 > > ((StreamNil, 0), s)
00:08:15 verbose #13521 > > ||> fold fun (acc, i) x =>
00:08:15 verbose #13522 > > StreamCons ((i, x), fun () => acc), i + 1
00:08:15 verbose #13523 > > |> fst
00:08:15 verbose #13524 > > |> rev
00:08:15 verbose #13525 > 00:08:14 debug #704 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7b627879a495d9e392747d272ff80859f34f939c32876e87f18c064c294f0fd9/main.spi
00:08:15 verbose #13526 > >
00:08:15 verbose #13527 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13528 > > //// test
00:08:15 verbose #13529 > >
00:08:15 verbose #13530 > > listm.init 10i32 ((*) 2)
00:08:15 verbose #13531 > > |> from_list
00:08:15 verbose #13532 > > |> indexed
00:08:15 verbose #13533 > > |> item 5i32
00:08:15 verbose #13534 > > |> _assert_eq (5i32, 10i32)
00:08:15 verbose #13535 > 00:08:14 debug #705 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6c74a2524d58d84d96539c19590014e27faf42e32336ae672aba24ab626048b3/main.spi
00:08:15 verbose #13536 > >
00:08:15 verbose #13537 > > ╭─[ 89.48ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:15 verbose #13538 > > │ assert_eq / actual: struct (5, 10) / expected: struct (5, 10) │
00:08:15 verbose #13539 > > │ │
00:08:15 verbose #13540 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13541 > >
00:08:15 verbose #13542 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:15 verbose #13543 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:15 verbose #13544 > > │ ## map │
00:08:15 verbose #13545 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13546 > >
00:08:15 verbose #13547 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13548 > > inl map fn s =
00:08:15 verbose #13549 > > (s, StreamNil)
00:08:15 verbose #13550 > > ||> fold_back fun x acc =>
00:08:15 verbose #13551 > > StreamCons (fn x, fun () => acc)
00:08:15 verbose #13552 > 00:08:14 debug #706 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5a71f05b1c99685b4f4a4b929ae3bd565ed7353a63f1aeb0abb7c808fb698407/main.spi
00:08:15 verbose #13553 > >
00:08:15 verbose #13554 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13555 > > //// test
00:08:15 verbose #13556 > >
00:08:15 verbose #13557 > > listm.init 10i32 id
00:08:15 verbose #13558 > > |> from_list
00:08:15 verbose #13559 > > |> map ((*) 2)
00:08:15 verbose #13560 > > |> item 5i32
00:08:15 verbose #13561 > > |> _assert_eq 10i32
00:08:15 verbose #13562 > 00:08:14 debug #707 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6d4151c7077009cf8b6c642428cdb4e083d6f16c17fb1eadfe4f21c26db8b153/main.spi
00:08:15 verbose #13563 > >
00:08:15 verbose #13564 > > ╭─[ 81.03ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:15 verbose #13565 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:15 verbose #13566 > > │ │
00:08:15 verbose #13567 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13568 > >
00:08:15 verbose #13569 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:15 verbose #13570 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:15 verbose #13571 > > │ ## zip_with │
00:08:15 verbose #13572 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13573 > >
00:08:15 verbose #13574 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13575 > > inl zip_with fn s1 s2 =
00:08:15 verbose #13576 > > inl rec loop s1 s2 =
00:08:15 verbose #13577 > > match s1, s2 with
00:08:15 verbose #13578 > > | StreamCons (st1, fn1), StreamCons (st2, fn2) =>
00:08:15 verbose #13579 > > StreamCons (fn st1 st2, fun () => loop (fn1 ()) (fn2 ()))
00:08:15 verbose #13580 > > | StreamNil, _ | _, StreamNil => StreamNil
00:08:15 verbose #13581 > > loop s1 s2
00:08:15 verbose #13582 > >
00:08:15 verbose #13583 > > inl zip_with_ fn s1 s2 =
00:08:15 verbose #13584 > > let rec loop s1 s2 =
00:08:15 verbose #13585 > > match s1, s2 with
00:08:15 verbose #13586 > > | StreamCons (st1, fn1), StreamCons (st2, fn2) =>
00:08:15 verbose #13587 > > StreamCons (fn st1 st2, fun () => loop (fn1 ()) (fn2 ()))
00:08:15 verbose #13588 > > | StreamNil, _ | _, StreamNil => StreamNil
00:08:15 verbose #13589 > > loop s1 s2
00:08:15 verbose #13590 > 00:08:15 debug #708 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/50a2007d7b86b17e0bf3326c47779505e3c4b10bc66b9a06b7db5d685dc885d5/main.spi
00:08:15 verbose #13591 > >
00:08:15 verbose #13592 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13593 > > //// test
00:08:15 verbose #13594 > >
00:08:15 verbose #13595 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:08:15 verbose #13596 > > ||> zip_with (+)
00:08:15 verbose #13597 > > |> item 2i32
00:08:15 verbose #13598 > > |> _assert_eq 6
00:08:15 verbose #13599 > 00:08:15 debug #709 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1407e2afd5a65eb8a7bcfa03246b24676d622dcbeafd758c36c7806e1936d316/main.spi
00:08:15 verbose #13600 > >
00:08:15 verbose #13601 > > ╭─[ 82.17ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:15 verbose #13602 > > │ assert_eq / actual: 6 / expected: 6 │
00:08:15 verbose #13603 > > │ │
00:08:15 verbose #13604 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13605 > >
00:08:15 verbose #13606 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:15 verbose #13607 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:15 verbose #13608 > > │ ## zip │
00:08:15 verbose #13609 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:15 verbose #13610 > >
00:08:15 verbose #13611 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:15 verbose #13612 > > inl zip s1 s2 =
00:08:15 verbose #13613 > > zip_with pair s1 s2
00:08:15 verbose #13614 > >
00:08:15 verbose #13615 > > inl zip_ s1 s2 =
00:08:15 verbose #13616 > > zip_with_ pair s1 s2
00:08:15 verbose #13617 > 00:08:15 debug #710 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d67694dfeb6cc86ceec8375172758d00fd71423b960f8d41fb0a833cf877d554/main.spi
00:08:16 verbose #13618 > >
00:08:16 verbose #13619 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:16 verbose #13620 > > //// test
00:08:16 verbose #13621 > >
00:08:16 verbose #13622 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:08:16 verbose #13623 > > ||> zip
00:08:16 verbose #13624 > > |> item 5i32
00:08:16 verbose #13625 > > |> _assert_eq (5, 10)
00:08:16 verbose #13626 > 00:08:15 debug #711 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/38ce3f35fda60a86326c7a32447ad0ac31eb77ffe8e372a9d9886cc426a8576b/main.spi
00:08:16 verbose #13627 > >
00:08:16 verbose #13628 > > ╭─[ 83.69ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:16 verbose #13629 > > │ assert_eq / actual: struct (5, 10) / expected: struct (5, 10) │
00:08:16 verbose #13630 > > │ │
00:08:16 verbose #13631 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:16 verbose #13632 > >
00:08:16 verbose #13633 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:16 verbose #13634 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:16 verbose #13635 > > │ ## unzip │
00:08:16 verbose #13636 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:16 verbose #13637 > >
00:08:16 verbose #13638 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:16 verbose #13639 > > inl unzip s =
00:08:16 verbose #13640 > > inl rec body s =
00:08:16 verbose #13641 > > match s with
00:08:16 verbose #13642 > > | StreamCons ((x, y), fn) =>
00:08:16 verbose #13643 > > inl xs, ys = loop (fn ())
00:08:16 verbose #13644 > > StreamCons (x, fun () => xs), StreamCons (y, fun () => ys)
00:08:16 verbose #13645 > > | StreamNil => pair StreamNil StreamNil
00:08:16 verbose #13646 > > and inl loop x =
00:08:16 verbose #13647 > > if var_is x |> not
00:08:16 verbose #13648 > > then body x
00:08:16 verbose #13649 > > else
00:08:16 verbose #13650 > > inl x = dyn x
00:08:16 verbose #13651 > > join body x
00:08:16 verbose #13652 > > loop s
00:08:16 verbose #13653 > 00:08:15 debug #712 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c11d144e51ec8059dfd3d1741142b4ab395e4a239dc36e37cbdd39919b208021/main.spi
00:08:16 verbose #13654 > >
00:08:16 verbose #13655 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:16 verbose #13656 > > //// test
00:08:16 verbose #13657 > >
00:08:16 verbose #13658 > > listm.init 10i32 id
00:08:16 verbose #13659 > > |> listm.map (fun x => x, x)
00:08:16 verbose #13660 > > |> from_list
00:08:16 verbose #13661 > > |> unzip
00:08:16 verbose #13662 > > |> fun x, y =>
00:08:16 verbose #13663 > > x |> sum
00:08:16 verbose #13664 > > |> _assert_eq 45
00:08:16 verbose #13665 > >
00:08:16 verbose #13666 > > y |> sum
00:08:16 verbose #13667 > > |> _assert_eq 45
00:08:16 verbose #13668 > 00:08:15 debug #713 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ce524adc4ad8f049fd3f726f679d7783294cf5417a8f5d0d28173e300e53376/main.spi
00:08:16 verbose #13669 > >
00:08:16 verbose #13670 > > ╭─[ 89.83ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:16 verbose #13671 > > │ assert_eq / actual: 45 / expected: 45 │
00:08:16 verbose #13672 > > │ assert_eq / actual: 45 / expected: 45 │
00:08:16 verbose #13673 > > │ │
00:08:16 verbose #13674 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:16 verbose #13675 > 00:00:09 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 36758
00:08:16 verbose #13676 > 00:00:09 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:08:17 verbose #13677 > 00:00:10 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb to html
00:08:17 verbose #13678 > 00:00:10 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:08:17 verbose #13679 > 00:00:10 verbose #7 ! validate(nb)
00:08:17 verbose #13680 > 00:00:10 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:08:17 verbose #13681 > 00:00:10 verbose #9 ! return _pygments_highlight(
00:08:17 verbose #13682 > 00:00:11 verbose #10 ! [NbConvertApp] Writing 361304 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.html
00:08:17 verbose #13683 > 00:00:11 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 896
00:08:17 verbose #13684 > 00:00:11 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 896
00:08:17 verbose #13685 > 00:00:11 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:08:18 verbose #13686 > 00:00:11 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:08:18 verbose #13687 > 00:00:11 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:08:18 verbose #13688 > 00:00:11 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 37713
00:08:18 debug #13689 execute_with_options_async / exit_code: 0 / output.Length: 41464
00:08:18 debug #20 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path stream.dib --retries 3
00:08:18 debug #13690 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path seq.dib --retries 3",
[||], None, None, true, None)
00:08:18 verbose #13691 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "seq.dib", "--retries", "3"])
00:08:18 verbose #13692 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:08:19 verbose #13693 > >
00:08:19 verbose #13694 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:19 verbose #13695 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:19 verbose #13696 > > │ # seq │
00:08:19 verbose #13697 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:19 verbose #13698 > >
00:08:19 verbose #13699 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:19 verbose #13700 > > //// test
00:08:19 verbose #13701 > >
00:08:19 verbose #13702 > > open testing
00:08:19 verbose #13703 > >
00:08:19 verbose #13704 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:08:19 verbose #13705 > > #r
00:08:19 verbose #13706 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:19 verbose #13707 > > Net.Interactive.Spiral.dll"
00:08:19 verbose #13708 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:08:19 verbose #13709 > > #r
00:08:19 verbose #13710 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:19 verbose #13711 > > Net.Interactive.dll"
00:08:19 verbose #13712 > > open type Microsoft.DotNet.Interactive.Kernel
00:08:22 verbose #13713 > >
00:08:22 verbose #13714 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:22 verbose #13715 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:22 verbose #13716 > > │ ## types │
00:08:22 verbose #13717 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:22 verbose #13718 > >
00:08:22 verbose #13719 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:22 verbose #13720 > > inl types () =
00:08:22 verbose #13721 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:22 verbose #13722 > > Fable.Core.Emit(\"core::iter::Fuse<$0>\")>]]\n#endif\ntype core_iter_Fuse<'T> =
00:08:22 verbose #13723 > > class end"
00:08:22 verbose #13724 > 00:08:22 debug #714 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/85ddbe8b4ac4cea01eb9194507a4a3de669f7b0d93ab6420744642d4e9977c92/main.spi
00:08:22 verbose #13725 > >
00:08:22 verbose #13726 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:22 verbose #13727 > > nominal fuse t = $'core_iter_Fuse<`t>'
00:08:22 verbose #13728 > 00:08:22 debug #715 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4ee0a97d2334f1ccacfa16515fb55596144c8785fe732cb2c40e278e192305bb/main.spi
00:08:22 verbose #13729 > >
00:08:22 verbose #13730 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:22 verbose #13731 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:22 verbose #13732 > > │ ## seq' │
00:08:22 verbose #13733 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:22 verbose #13734 > >
00:08:22 verbose #13735 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:22 verbose #13736 > > nominal seq' t = $"`t seq"
00:08:22 verbose #13737 > 00:08:22 debug #716 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/26edcb24878ae3daa879e5b9090029690b1592cf1edc563315841c2899d1c9b9/main.spi
00:08:22 verbose #13738 > >
00:08:22 verbose #13739 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:22 verbose #13740 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:22 verbose #13741 > > │ ## of_array' │
00:08:22 verbose #13742 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:22 verbose #13743 > >
00:08:22 verbose #13744 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:22 verbose #13745 > > inl of_array' forall dim t. (items : a dim t) : seq' t =
00:08:22 verbose #13746 > > $'seq { for i = 0 to !items.Length - 1 do yield !items.[[i]] }'
00:08:22 verbose #13747 > 00:08:22 debug #717 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a4a77ff225a6e66205969647c35653dc961f72491276ab81af6b8aaee8a6d7b9/main.spi
00:08:22 verbose #13748 > >
00:08:22 verbose #13749 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:22 verbose #13750 > > //// test
00:08:22 verbose #13751 > >
00:08:22 verbose #13752 > > (a ;[[ "a"; "b" ]] : _ i32 _)
00:08:22 verbose #13753 > > |> of_array'
00:08:22 verbose #13754 > 00:08:22 debug #718 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9b54bebfb9ae91066fdd085a91c1f45677428369469333b9eb5125b7049acf9d/main.spi
00:08:23 verbose #13755 > >
00:08:23 verbose #13756 > > ╭─[ 640.53ms - return value ]──────────────────────────────────────────────────╮
00:08:23 verbose #13757 > > │ <details open="open" class="dni-treeview"><summary><span │
00:08:23 verbose #13758 > > │ class="dni-code-hint"><code>[ a, b │
00:08:23 verbose #13759 > > │ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
00:08:23 verbose #13760 > > │ CheckClose</td><td><div │
00:08:23 verbose #13761 > > │ class="dni-plaintext"><pre>False</pre></div></td></tr><tr><td>LastGenerated< │
00:08:23 verbose #13762 > > │ /td><td><div │
00:08:23 verbose #13763 > > │ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td>v2</td> │
00:08:23 verbose #13764 > > │ <td><div class="dni-plaintext"><pre>[ a, b │
00:08:23 verbose #13765 > > │ ]</pre></div></td></tr><tr><td>enum</td><td><div │
00:08:23 verbose #13766 > > │ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td>pc</td> │
00:08:23 verbose #13767 > > │ <td><div │
00:08:23 verbose #13768 > > │ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>current</td><td><d │
00:08:23 verbose #13769 > > │ iv │
00:08:23 verbose #13770 > > │ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td><i>(val │
00:08:23 verbose #13771 > > │ ues)</i></td><td><div class="dni-plaintext"><pre>[ a, b │
00:08:23 verbose #13772 > > │ ]</pre></div></td></tr></tbody></table></div></details><style> │
00:08:23 verbose #13773 > > │ .dni-code-hint { │
00:08:23 verbose #13774 > > │ font-style: italic; │
00:08:23 verbose #13775 > > │ overflow: hidden; │
00:08:23 verbose #13776 > > │ white-space: nowrap; │
00:08:23 verbose #13777 > > │ } │
00:08:23 verbose #13778 > > │ .dni-treeview { │
00:08:23 verbose #13779 > > │ white-space: nowrap; │
00:08:23 verbose #13780 > > │ } │
00:08:23 verbose #13781 > > │ .dni-treeview td { │
00:08:23 verbose #13782 > > │ vertical-align: top; │
00:08:23 verbose #13783 > > │ text-align: start; │
00:08:23 verbose #13784 > > │ } │
00:08:23 verbose #13785 > > │ details.dni-treeview { │
00:08:23 verbose #13786 > > │ padding-left: 1em; │
00:08:23 verbose #13787 > > │ } │
00:08:23 verbose #13788 > > │ table td { │
00:08:23 verbose #13789 > > │ text-align: start; │
00:08:23 verbose #13790 > > │ } │
00:08:23 verbose #13791 > > │ table tr { │
00:08:23 verbose #13792 > > │ vertical-align: top; │
00:08:23 verbose #13793 > > │ margin: 0em 0px; │
00:08:23 verbose #13794 > > │ } │
00:08:23 verbose #13795 > > │ table tr td pre │
00:08:23 verbose #13796 > > │ { │
00:08:23 verbose #13797 > > │ vertical-align: top !important; │
00:08:23 verbose #13798 > > │ margin: 0em 0px !important; │
00:08:23 verbose #13799 > > │ } │
00:08:23 verbose #13800 > > │ table th { │
00:08:23 verbose #13801 > > │ text-align: start; │
00:08:23 verbose #13802 > > │ } │
00:08:23 verbose #13803 > > │ </style> │
00:08:23 verbose #13804 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:23 verbose #13805 > >
00:08:23 verbose #13806 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:23 verbose #13807 > > inl of_array forall dim t. (items : a dim t) : seq' t =
00:08:23 verbose #13808 > > items |> $'Seq.ofArray'
00:08:23 verbose #13809 > 00:08:23 debug #719 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9322ce2db83c7cf55ed3ede5a3ebe80201e12732fb3ac28c066d73cf029ccbac/main.spi
00:08:23 verbose #13810 > >
00:08:23 verbose #13811 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:23 verbose #13812 > > //// test
00:08:23 verbose #13813 > >
00:08:23 verbose #13814 > > (a ;[[ "a"; "b" ]] : _ i32 _)
00:08:23 verbose #13815 > > |> of_array
00:08:23 verbose #13816 > 00:08:23 debug #720 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/623475c8ae4c6013fbc2cdfc5ca888e228f9b19159984e8fbb1daa2d566fb6cc/main.spi
00:08:23 verbose #13817 > >
00:08:23 verbose #13818 > > ╭─[ 109.35ms - return value ]──────────────────────────────────────────────────╮
00:08:23 verbose #13819 > > │ <details open="open" class="dni-treeview"><summary><span │
00:08:23 verbose #13820 > > │ class="dni-code-hint"><code>[ a, b │
00:08:23 verbose #13821 > > │ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
00:08:23 verbose #13822 > > │ f</td><td><details class="dni-treeview"><summary><span │
00:08:23 verbose #13823 > > │ class="dni-code-hint"><code>Microsoft.FSharp.Collections.SeqModule+OfArray@1 │
00:08:23 verbose #13824 > > │ 010[ │
00:08:23 verbose #13825 > > │ System.String]</code></span></summary><div><table><thead><tr></tr></thead><t │
00:08:23 verbose #13826 > > │ body><tr><td>source</td><td><div class="dni-plaintext"><pre>[ a, b │
00:08:23 verbose #13827 > > │ ]</pre></div></td></tr></tbody></table></div></details></td></tr><tr><td><i> │
00:08:23 verbose #13828 > > │ (values)</i></td><td><div class="dni-plaintext"><pre>[ a, b │
00:08:23 verbose #13829 > > │ ]</pre></div></td></tr></tbody></table></div></details><style> │
00:08:23 verbose #13830 > > │ .dni-code-hint { │
00:08:23 verbose #13831 > > │ font-style: italic; │
00:08:23 verbose #13832 > > │ overflow: hidden; │
00:08:23 verbose #13833 > > │ white-space: nowrap; │
00:08:23 verbose #13834 > > │ } │
00:08:23 verbose #13835 > > │ .dni-treeview { │
00:08:23 verbose #13836 > > │ white-space: nowrap; │
00:08:23 verbose #13837 > > │ } │
00:08:23 verbose #13838 > > │ .dni-treeview td { │
00:08:23 verbose #13839 > > │ vertical-align: top; │
00:08:23 verbose #13840 > > │ text-align: start; │
00:08:23 verbose #13841 > > │ } │
00:08:23 verbose #13842 > > │ details.dni-treeview { │
00:08:23 verbose #13843 > > │ padding-left: 1em; │
00:08:23 verbose #13844 > > │ } │
00:08:23 verbose #13845 > > │ table td { │
00:08:23 verbose #13846 > > │ text-align: start; │
00:08:23 verbose #13847 > > │ } │
00:08:23 verbose #13848 > > │ table tr { │
00:08:23 verbose #13849 > > │ vertical-align: top; │
00:08:23 verbose #13850 > > │ margin: 0em 0px; │
00:08:23 verbose #13851 > > │ } │
00:08:23 verbose #13852 > > │ table tr td pre │
00:08:23 verbose #13853 > > │ { │
00:08:23 verbose #13854 > > │ vertical-align: top !important; │
00:08:23 verbose #13855 > > │ margin: 0em 0px !important; │
00:08:23 verbose #13856 > > │ } │
00:08:23 verbose #13857 > > │ table th { │
00:08:23 verbose #13858 > > │ text-align: start; │
00:08:23 verbose #13859 > > │ } │
00:08:23 verbose #13860 > > │ </style> │
00:08:23 verbose #13861 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:23 verbose #13862 > >
00:08:23 verbose #13863 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:23 verbose #13864 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:23 verbose #13865 > > │ ## to_array' │
00:08:23 verbose #13866 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:23 verbose #13867 > >
00:08:23 verbose #13868 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:23 verbose #13869 > > inl to_array' forall dim t. (items : seq' t) : a dim t =
00:08:23 verbose #13870 > > items |> $'Seq.toArray'
00:08:23 verbose #13871 > 00:08:23 debug #721 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a86323a4087e52aab60c51354bb7b47dd5fb2813b04bbc9641e971a597d9f89b/main.spi
00:08:23 verbose #13872 > >
00:08:23 verbose #13873 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:23 verbose #13874 > > //// test
00:08:23 verbose #13875 > >
00:08:23 verbose #13876 > > (a ;[[ "a"; "b" ]] : _ i32 _)
00:08:23 verbose #13877 > > |> of_array'
00:08:23 verbose #13878 > > |> to_array'
00:08:23 verbose #13879 > > |> _assert_eq (a ;[[ "a"; "b" ]] : _ i32 _)
00:08:23 verbose #13880 > 00:08:23 debug #722 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fe321309947240b6008346738386e8ef30c1d03565a1a5192eb94df2a4f5b4ec/main.spi
00:08:24 verbose #13881 > >
00:08:24 verbose #13882 > > ╭─[ 221.41ms - stdout ]────────────────────────────────────────────────────────╮
00:08:24 verbose #13883 > > │ assert_eq / actual: [|"a"; "b"|] / expected: [|"a"; "b"|] │
00:08:24 verbose #13884 > > │ │
00:08:24 verbose #13885 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13886 > >
00:08:24 verbose #13887 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:24 verbose #13888 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:24 verbose #13889 > > │ ## of_list' │
00:08:24 verbose #13890 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13891 > >
00:08:24 verbose #13892 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13893 > > inl of_list' forall t. (items : listm'.list' t) : seq' t =
00:08:24 verbose #13894 > > $'seq { for i = 0 to !items.Length - 1 do yield !items.[[i]] }'
00:08:24 verbose #13895 > 00:08:23 debug #723 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ee757ba9a51695fe815136b037c09d2b52704967439c132a6159f6d80fb0edff/main.spi
00:08:24 verbose #13896 > >
00:08:24 verbose #13897 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:24 verbose #13898 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:24 verbose #13899 > > │ ## to_list' │
00:08:24 verbose #13900 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13901 > >
00:08:24 verbose #13902 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13903 > > inl to_list' forall t. (items : seq' t) : listm'.list' t =
00:08:24 verbose #13904 > > items |> $'Seq.toList'
00:08:24 verbose #13905 > 00:08:23 debug #724 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/51e2f90722ffb08a61d24bcdf0f90fd38dfbbbb9fa100d96a87bf425a3705727/main.spi
00:08:24 verbose #13906 > >
00:08:24 verbose #13907 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13908 > > //// test
00:08:24 verbose #13909 > >
00:08:24 verbose #13910 > > (a ;[[ "a"; "b" ]] : _ i32 _)
00:08:24 verbose #13911 > > |> of_array
00:08:24 verbose #13912 > > |> to_list'
00:08:24 verbose #13913 > > |> listm'.unbox
00:08:24 verbose #13914 > > |> _assert_eq ([[ "a"; "b" ]])
00:08:24 verbose #13915 > 00:08:23 debug #725 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3da9830cf5f6c4f89d7d6598023a59d8535aedc0aa7cba2d83baf71b629b112c/main.spi
00:08:24 verbose #13916 > >
00:08:24 verbose #13917 > > ╭─[ 368.98ms - stdout ]────────────────────────────────────────────────────────╮
00:08:24 verbose #13918 > > │ assert_eq / actual: UH0_1 ("a", UH0_1 ("b", UH0_0)) / expected: UH0_1 ("a", │
00:08:24 verbose #13919 > > │ UH0_1 ("b", UH0_0)) │
00:08:24 verbose #13920 > > │ │
00:08:24 verbose #13921 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13922 > >
00:08:24 verbose #13923 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:24 verbose #13924 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:24 verbose #13925 > > │ ## rev' │
00:08:24 verbose #13926 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13927 > >
00:08:24 verbose #13928 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13929 > > inl rev'' forall t u. (items : t) : seq' u =
00:08:24 verbose #13930 > > items |> $'Seq.rev'
00:08:24 verbose #13931 > 00:08:24 debug #726 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/02250772cc8185dfe6eb3e3b081fad84a764bdb50f0926c2beb4cbb5fd72db82/main.spi
00:08:24 verbose #13932 > >
00:08:24 verbose #13933 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:24 verbose #13934 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:24 verbose #13935 > > │ ## seq │
00:08:24 verbose #13936 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13937 > >
00:08:24 verbose #13938 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13939 > > type seq dim el = dim -> option el
00:08:24 verbose #13940 > 00:08:24 debug #727 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/48f2f1d585d607ae8fd70452173d9c36cd7e8d98f4ba3a722861c218bdd871c4/main.spi
00:08:24 verbose #13941 > >
00:08:24 verbose #13942 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:24 verbose #13943 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:24 verbose #13944 > > │ ## try_item │
00:08:24 verbose #13945 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13946 > >
00:08:24 verbose #13947 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13948 > > inl try_item n s =
00:08:24 verbose #13949 > > n |> s
00:08:24 verbose #13950 > 00:08:24 debug #728 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b672907d60b333b0ab70350aed7dae74ae7b7a4f7adf63e8320fe2478783ee42/main.spi
00:08:24 verbose #13951 > >
00:08:24 verbose #13952 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:24 verbose #13953 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:24 verbose #13954 > > │ ## from_list │
00:08:24 verbose #13955 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:24 verbose #13956 > >
00:08:24 verbose #13957 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13958 > > inl from_list list =
00:08:24 verbose #13959 > > fun n =>
00:08:24 verbose #13960 > > list
00:08:24 verbose #13961 > > |> listm'.try_item n
00:08:24 verbose #13962 > 00:08:24 debug #729 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9d51012ef16b133f2056ebe3473c22268b25c0128cf8f2627285c3097218eca1/main.spi
00:08:24 verbose #13963 > >
00:08:24 verbose #13964 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:24 verbose #13965 > > //// test
00:08:24 verbose #13966 > >
00:08:24 verbose #13967 > > listm.init 10i32 print_and_return
00:08:24 verbose #13968 > > |> from_list
00:08:24 verbose #13969 > > |> try_item 5i32
00:08:24 verbose #13970 > > |> _assert_eq (Some 5i32)
00:08:24 verbose #13971 > 00:08:24 debug #730 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9a32eb61df328f786239c68a2f4190d29c47e227c3a4ad4d2887f2e1941a6da4/main.spi
00:08:25 verbose #13972 > >
00:08:25 verbose #13973 > > ╭─[ 135.76ms - stdout ]────────────────────────────────────────────────────────╮
00:08:25 verbose #13974 > > │ print_and_return / x: 0 │
00:08:25 verbose #13975 > > │ print_and_return / x: 1 │
00:08:25 verbose #13976 > > │ print_and_return / x: 2 │
00:08:25 verbose #13977 > > │ print_and_return / x: 3 │
00:08:25 verbose #13978 > > │ print_and_return / x: 4 │
00:08:25 verbose #13979 > > │ print_and_return / x: 5 │
00:08:25 verbose #13980 > > │ print_and_return / x: 6 │
00:08:25 verbose #13981 > > │ print_and_return / x: 7 │
00:08:25 verbose #13982 > > │ print_and_return / x: 8 │
00:08:25 verbose #13983 > > │ print_and_return / x: 9 │
00:08:25 verbose #13984 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │
00:08:25 verbose #13985 > > │ │
00:08:25 verbose #13986 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #13987 > >
00:08:25 verbose #13988 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:25 verbose #13989 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:25 verbose #13990 > > │ ## map │
00:08:25 verbose #13991 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #13992 > >
00:08:25 verbose #13993 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #13994 > > inl map fn s =
00:08:25 verbose #13995 > > fun n =>
00:08:25 verbose #13996 > > n
00:08:25 verbose #13997 > > |> s
00:08:25 verbose #13998 > > |> optionm.map fn
00:08:25 verbose #13999 > 00:08:24 debug #731 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/68f1ba2e3d62cf18e5c2603fa035791d0cfe602ef54e407a01494b4094922109/main.spi
00:08:25 verbose #14000 > >
00:08:25 verbose #14001 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14002 > > //// test
00:08:25 verbose #14003 > >
00:08:25 verbose #14004 > > listm.init 10i32 id
00:08:25 verbose #14005 > > |> from_list
00:08:25 verbose #14006 > > |> map ((*) 2)
00:08:25 verbose #14007 > > |> try_item 5i32
00:08:25 verbose #14008 > > |> _assert_eq (Some 10i32)
00:08:25 verbose #14009 > 00:08:24 debug #732 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bdf0aa42c9610d66a1f5f5e83341d8e02d15d52412695a82117d85889c0fa368/main.spi
00:08:25 verbose #14010 > >
00:08:25 verbose #14011 > > ╭─[ 98.58ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:25 verbose #14012 > > │ assert_eq / actual: US0_0 10 / expected: US0_0 10 │
00:08:25 verbose #14013 > > │ │
00:08:25 verbose #14014 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14015 > >
00:08:25 verbose #14016 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:25 verbose #14017 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:25 verbose #14018 > > │ ## mapi │
00:08:25 verbose #14019 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14020 > >
00:08:25 verbose #14021 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14022 > > inl mapi fn s =
00:08:25 verbose #14023 > > fun n =>
00:08:25 verbose #14024 > > n
00:08:25 verbose #14025 > > |> s
00:08:25 verbose #14026 > > |> optionm.map (fn n)
00:08:25 verbose #14027 > 00:08:24 debug #733 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4218eb4781e09730d46c56bfddff12329b452346dcc5190aa21223caee65310e/main.spi
00:08:25 verbose #14028 > >
00:08:25 verbose #14029 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14030 > > //// test
00:08:25 verbose #14031 > >
00:08:25 verbose #14032 > > listm.init 10i32 print_and_return
00:08:25 verbose #14033 > > |> from_list
00:08:25 verbose #14034 > > |> mapi fun i x => i + x
00:08:25 verbose #14035 > > |> try_item 5i32
00:08:25 verbose #14036 > > |> _assert_eq (Some 10i32)
00:08:25 verbose #14037 > 00:08:24 debug #734 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7e19280c10eae4d11caef0480eebeb46d539257d8fbcafd24053738efee69fba/main.spi
00:08:25 verbose #14038 > >
00:08:25 verbose #14039 > > ╭─[ 112.04ms - stdout ]────────────────────────────────────────────────────────╮
00:08:25 verbose #14040 > > │ print_and_return / x: 0 │
00:08:25 verbose #14041 > > │ print_and_return / x: 1 │
00:08:25 verbose #14042 > > │ print_and_return / x: 2 │
00:08:25 verbose #14043 > > │ print_and_return / x: 3 │
00:08:25 verbose #14044 > > │ print_and_return / x: 4 │
00:08:25 verbose #14045 > > │ print_and_return / x: 5 │
00:08:25 verbose #14046 > > │ print_and_return / x: 6 │
00:08:25 verbose #14047 > > │ print_and_return / x: 7 │
00:08:25 verbose #14048 > > │ print_and_return / x: 8 │
00:08:25 verbose #14049 > > │ print_and_return / x: 9 │
00:08:25 verbose #14050 > > │ assert_eq / actual: US0_0 10 / expected: US0_0 10 │
00:08:25 verbose #14051 > > │ │
00:08:25 verbose #14052 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14053 > >
00:08:25 verbose #14054 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:25 verbose #14055 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:25 verbose #14056 > > │ ## choose │
00:08:25 verbose #14057 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14058 > >
00:08:25 verbose #14059 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14060 > > inl choose forall dim {number} t u. (fn : t -> option u) (s : seq dim t) : seq
00:08:25 verbose #14061 > > dim u =
00:08:25 verbose #14062 > > fun n =>
00:08:25 verbose #14063 > > inl rec body fn s i i' =
00:08:25 verbose #14064 > > match i |> s with
00:08:25 verbose #14065 > > | None => None
00:08:25 verbose #14066 > > | Some x =>
00:08:25 verbose #14067 > > match x |> fn with
00:08:25 verbose #14068 > > | Some x when n = i' => Some x
00:08:25 verbose #14069 > > | Some _ => loop (i + 1) (i' + 1)
00:08:25 verbose #14070 > > | _ => loop (i + 1) i'
00:08:25 verbose #14071 > > and inl loop i i' =
00:08:25 verbose #14072 > > if n |> var_is |> not
00:08:25 verbose #14073 > > then body fn s i i'
00:08:25 verbose #14074 > > else
00:08:25 verbose #14075 > > inl fn = join fn
00:08:25 verbose #14076 > > inl s = join s
00:08:25 verbose #14077 > > join body fn s i i'
00:08:25 verbose #14078 > > loop 0 0
00:08:25 verbose #14079 > 00:08:25 debug #735 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/16e107027f2fbc64c974be6ab013ebe24c665d421cc3fa7c694e6608d1b9e3c4/main.spi
00:08:25 verbose #14080 > >
00:08:25 verbose #14081 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14082 > > //// test
00:08:25 verbose #14083 > >
00:08:25 verbose #14084 > > listm.init 10i32 print_and_return
00:08:25 verbose #14085 > > |> from_list
00:08:25 verbose #14086 > > |> choose (fun x => if x % 2 = 0 then Some x else None)
00:08:25 verbose #14087 > > |> try_item 1i32
00:08:25 verbose #14088 > > |> _assert_eq (Some 2i32)
00:08:25 verbose #14089 > 00:08:25 debug #736 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f46a3322900a750138add7ff42b83f1c0ada36c0f6761a5be972d9bbd7916283/main.spi
00:08:25 verbose #14090 > >
00:08:25 verbose #14091 > > ╭─[ 112.88ms - stdout ]────────────────────────────────────────────────────────╮
00:08:25 verbose #14092 > > │ print_and_return / x: 0 │
00:08:25 verbose #14093 > > │ print_and_return / x: 1 │
00:08:25 verbose #14094 > > │ print_and_return / x: 2 │
00:08:25 verbose #14095 > > │ print_and_return / x: 3 │
00:08:25 verbose #14096 > > │ print_and_return / x: 4 │
00:08:25 verbose #14097 > > │ print_and_return / x: 5 │
00:08:25 verbose #14098 > > │ print_and_return / x: 6 │
00:08:25 verbose #14099 > > │ print_and_return / x: 7 │
00:08:25 verbose #14100 > > │ print_and_return / x: 8 │
00:08:25 verbose #14101 > > │ print_and_return / x: 9 │
00:08:25 verbose #14102 > > │ assert_eq / actual: US0_0 2 / expected: US0_0 2 │
00:08:25 verbose #14103 > > │ │
00:08:25 verbose #14104 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14105 > >
00:08:25 verbose #14106 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:25 verbose #14107 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:25 verbose #14108 > > │ ## indexed │
00:08:25 verbose #14109 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14110 > >
00:08:25 verbose #14111 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14112 > > inl indexed s =
00:08:25 verbose #14113 > > s
00:08:25 verbose #14114 > > |> mapi fun i x =>
00:08:25 verbose #14115 > > i, x
00:08:25 verbose #14116 > 00:08:25 debug #737 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/70ea52ec0c1b1b51d0b031cb1c2b24a726037e3e9b181e613d26750827dc2d2e/main.spi
00:08:25 verbose #14117 > >
00:08:25 verbose #14118 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14119 > > //// test
00:08:25 verbose #14120 > >
00:08:25 verbose #14121 > > listm.init 10i32 ((*) 2)
00:08:25 verbose #14122 > > |> from_list
00:08:25 verbose #14123 > > |> indexed
00:08:25 verbose #14124 > > |> try_item 5i32
00:08:25 verbose #14125 > > |> _assert_eq (Some (5i32, 10i32))
00:08:25 verbose #14126 > 00:08:25 debug #738 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0cb0594e914a2463e7b1e2b99a7930a8199d4dfeae5db409c17ff0c19e0375c3/main.spi
00:08:25 verbose #14127 > >
00:08:25 verbose #14128 > > ╭─[ 103.30ms - stdout ]────────────────────────────────────────────────────────╮
00:08:25 verbose #14129 > > │ assert_eq / actual: US0_0 (5, 10) / expected: US0_0 (5, 10) │
00:08:25 verbose #14130 > > │ │
00:08:25 verbose #14131 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14132 > >
00:08:25 verbose #14133 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:25 verbose #14134 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:25 verbose #14135 > > │ ## zip │
00:08:25 verbose #14136 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14137 > >
00:08:25 verbose #14138 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14139 > > inl zip n seq1 seq2 =
00:08:25 verbose #14140 > > seq1 n, seq2 n
00:08:25 verbose #14141 > 00:08:25 debug #739 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b413e886768c8045dbb1b8da10a8347947d0544bc90699d59eebc76a1cb6d592/main.spi
00:08:25 verbose #14142 > >
00:08:25 verbose #14143 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14144 > > //// test
00:08:25 verbose #14145 > >
00:08:25 verbose #14146 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:08:25 verbose #14147 > > ||> zip 5i32
00:08:25 verbose #14148 > > |> _assert_eq (Some 5, Some 10)
00:08:25 verbose #14149 > 00:08:25 debug #740 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ed1c3d3d717e73c69df905edaf228870aef537c87a4ca364753e7e97c5b09f9b/main.spi
00:08:25 verbose #14150 > >
00:08:25 verbose #14151 > > ╭─[ 104.38ms - stdout ]────────────────────────────────────────────────────────╮
00:08:25 verbose #14152 > > │ assert_eq / actual: struct (US0_0 5, US0_0 10) / expected: struct (US0_0 5, │
00:08:25 verbose #14153 > > │ US0_0 10) │
00:08:25 verbose #14154 > > │ │
00:08:25 verbose #14155 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14156 > >
00:08:25 verbose #14157 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:25 verbose #14158 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:25 verbose #14159 > > │ ## zip_with │
00:08:25 verbose #14160 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:25 verbose #14161 > >
00:08:25 verbose #14162 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:25 verbose #14163 > > inl zip_with fn seq1 seq2 =
00:08:25 verbose #14164 > > fun n =>
00:08:25 verbose #14165 > > fn (seq1 n) (seq2 n)
00:08:26 verbose #14166 > 00:08:25 debug #741 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/367fe10049e64c8192631c5c1d8623657aff7677daff12485764cf361b10d632/main.spi
00:08:26 verbose #14167 > >
00:08:26 verbose #14168 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14169 > > //// test
00:08:26 verbose #14170 > >
00:08:26 verbose #14171 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
00:08:26 verbose #14172 > > ||> zip_with (optionm'.choose (+))
00:08:26 verbose #14173 > > |> try_item 2i32
00:08:26 verbose #14174 > > |> _assert_eq (Some 6)
00:08:26 verbose #14175 > 00:08:25 debug #742 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1f2728bb6bfbccd84f0fa0f534480df40cc6e303c60832448f63c11e9011f7bd/main.spi
00:08:26 verbose #14176 > >
00:08:26 verbose #14177 > > ╭─[ 98.52ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:26 verbose #14178 > > │ assert_eq / actual: US0_0 6 / expected: US0_0 6 │
00:08:26 verbose #14179 > > │ │
00:08:26 verbose #14180 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14181 > >
00:08:26 verbose #14182 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:26 verbose #14183 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:26 verbose #14184 > > │ ## fold │
00:08:26 verbose #14185 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14186 > >
00:08:26 verbose #14187 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14188 > > inl fold fn init seq =
00:08:26 verbose #14189 > > inl rec loop acc n =
00:08:26 verbose #14190 > > match seq n with
00:08:26 verbose #14191 > > | Some x => loop (fn acc x) (n + 1)
00:08:26 verbose #14192 > > | None => acc
00:08:26 verbose #14193 > > loop init 0
00:08:26 verbose #14194 > >
00:08:26 verbose #14195 > > inl fold_ fn init seq =
00:08:26 verbose #14196 > > let rec loop acc n =
00:08:26 verbose #14197 > > match seq n with
00:08:26 verbose #14198 > > | Some x => loop (fn acc x) (n + 1)
00:08:26 verbose #14199 > > | None => acc
00:08:26 verbose #14200 > > loop init 0
00:08:26 verbose #14201 > 00:08:25 debug #743 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2403e57d9dbcbb3b976fd87759b94e99f259cc28997674b5c32d59df6dc7540/main.spi
00:08:26 verbose #14202 > >
00:08:26 verbose #14203 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:26 verbose #14204 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:26 verbose #14205 > > │ ## sum │
00:08:26 verbose #14206 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14207 > >
00:08:26 verbose #14208 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14209 > > inl sum seq =
00:08:26 verbose #14210 > > seq |> fold (+) 0
00:08:26 verbose #14211 > >
00:08:26 verbose #14212 > > inl sum_ seq =
00:08:26 verbose #14213 > > seq |> fold_ (+) 0
00:08:26 verbose #14214 > 00:08:25 debug #744 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d10a68b32e53feae990c1802d8e6ebc9166e8d29fda37d218004deda101868df/main.spi
00:08:26 verbose #14215 > >
00:08:26 verbose #14216 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14217 > > //// test
00:08:26 verbose #14218 > >
00:08:26 verbose #14219 > > listm.init 10i32 id
00:08:26 verbose #14220 > > |> from_list
00:08:26 verbose #14221 > > |> fun f (n : i32) => f n
00:08:26 verbose #14222 > > |> sum
00:08:26 verbose #14223 > > |> _assert_eq 45
00:08:26 verbose #14224 > 00:08:25 debug #745 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/83f57d778883cb58fa706f806b19370bec54f0ee69b9ae610657b2fe1cb4db48/main.spi
00:08:26 verbose #14225 > >
00:08:26 verbose #14226 > > ╭─[ 83.01ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:26 verbose #14227 > > │ assert_eq / actual: 45 / expected: 45 │
00:08:26 verbose #14228 > > │ │
00:08:26 verbose #14229 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14230 > >
00:08:26 verbose #14231 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:26 verbose #14232 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:26 verbose #14233 > > │ ## to_list │
00:08:26 verbose #14234 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14235 > >
00:08:26 verbose #14236 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14237 > > inl to_list seq =
00:08:26 verbose #14238 > > seq
00:08:26 verbose #14239 > > |> fold (fun acc x => x :: acc) [[]]
00:08:26 verbose #14240 > > |> listm.rev
00:08:26 verbose #14241 > >
00:08:26 verbose #14242 > > inl to_list_ seq =
00:08:26 verbose #14243 > > seq
00:08:26 verbose #14244 > > |> fold_ (fun acc x => x :: acc) [[]]
00:08:26 verbose #14245 > > |> listm.rev
00:08:26 verbose #14246 > 00:08:26 debug #746 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f37646e2182e69855e70b9ca2c853dced2fd008083c5743cbd99d1ab1896c3fe/main.spi
00:08:26 verbose #14247 > >
00:08:26 verbose #14248 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14249 > > //// test
00:08:26 verbose #14250 > >
00:08:26 verbose #14251 > > listm.init 10i32 id
00:08:26 verbose #14252 > > |> from_list
00:08:26 verbose #14253 > > |> fun f (n : i32) => f n
00:08:26 verbose #14254 > > |> to_list
00:08:26 verbose #14255 > > |> _assert_eq (listm.init 10i32 id)
00:08:26 verbose #14256 > 00:08:26 debug #747 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/335e21abc64f1bdd1f8ac9e843d024a6762debd09a88acb037d1ec311882aa86/main.spi
00:08:26 verbose #14257 > >
00:08:26 verbose #14258 > > ╭─[ 111.57ms - stdout ]────────────────────────────────────────────────────────╮
00:08:26 verbose #14259 > > │ assert_eq / actual: UH0_1 │
00:08:26 verbose #14260 > > │ (0, │
00:08:26 verbose #14261 > > │ UH0_1 │
00:08:26 verbose #14262 > > │ (1, │
00:08:26 verbose #14263 > > │ UH0_1 │
00:08:26 verbose #14264 > > │ (2, │
00:08:26 verbose #14265 > > │ UH0_1 │
00:08:26 verbose #14266 > > │ (3, │
00:08:26 verbose #14267 > > │ UH0_1 │
00:08:26 verbose #14268 > > │ (4, UH0_1 (5, UH0_1 (6, UH0_1 (7, UH0_1 (8, UH0_1 (9, │
00:08:26 verbose #14269 > > │ UH0_0)))))))))) / expected: UH0_1 │
00:08:26 verbose #14270 > > │ (0, │
00:08:26 verbose #14271 > > │ UH0_1 │
00:08:26 verbose #14272 > > │ (1, │
00:08:26 verbose #14273 > > │ UH0_1 │
00:08:26 verbose #14274 > > │ (2, │
00:08:26 verbose #14275 > > │ UH0_1 │
00:08:26 verbose #14276 > > │ (3, │
00:08:26 verbose #14277 > > │ UH0_1 │
00:08:26 verbose #14278 > > │ (4, UH0_1 (5, UH0_1 (6, UH0_1 (7, UH0_1 (8, UH0_1 (9, │
00:08:26 verbose #14279 > > │ UH0_0)))))))))) │
00:08:26 verbose #14280 > > │ │
00:08:26 verbose #14281 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14282 > >
00:08:26 verbose #14283 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:26 verbose #14284 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:26 verbose #14285 > > │ ## from_array │
00:08:26 verbose #14286 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14287 > >
00:08:26 verbose #14288 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14289 > > inl from_array forall dim {number; int} el. (array : a dim el) : seq dim el =
00:08:26 verbose #14290 > > fun n =>
00:08:26 verbose #14291 > > if n >= length array
00:08:26 verbose #14292 > > then None
00:08:26 verbose #14293 > > else index array n |> Some
00:08:26 verbose #14294 > 00:08:26 debug #748 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/60ca86b9440df207d31242c9a219a99260f57fd673627d8cf0a69192094296f1/main.spi
00:08:26 verbose #14295 > >
00:08:26 verbose #14296 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14297 > > //// test
00:08:26 verbose #14298 > >
00:08:26 verbose #14299 > > a ;[[ 1; 2; 3 ]]
00:08:26 verbose #14300 > > |> from_array
00:08:26 verbose #14301 > > |> try_item 1i32
00:08:26 verbose #14302 > > |> _assert_eq (Some 2i32)
00:08:26 verbose #14303 > 00:08:26 debug #749 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6387ef27f911dd28c9889c380bfe4ea6c4b281fb4f951b727396efe4cf4b788d/main.spi
00:08:26 verbose #14304 > >
00:08:26 verbose #14305 > > ╭─[ 108.14ms - stdout ]────────────────────────────────────────────────────────╮
00:08:26 verbose #14306 > > │ assert_eq / actual: US0_0 2 / expected: US0_0 2 │
00:08:26 verbose #14307 > > │ │
00:08:26 verbose #14308 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14309 > >
00:08:26 verbose #14310 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:26 verbose #14311 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:26 verbose #14312 > > │ ## to_array │
00:08:26 verbose #14313 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:26 verbose #14314 > >
00:08:26 verbose #14315 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14316 > > inl to_array seq =
00:08:26 verbose #14317 > > inl ar = a ;[[]] |> mut
00:08:26 verbose #14318 > > ((), seq)
00:08:26 verbose #14319 > > ||> fold fun _ x =>
00:08:26 verbose #14320 > > ar <- *ar ++ a ;[[x]]
00:08:26 verbose #14321 > > *ar
00:08:26 verbose #14322 > >
00:08:26 verbose #14323 > > inl to_array_ seq =
00:08:26 verbose #14324 > > inl ar = a ;[[]] |> mut
00:08:26 verbose #14325 > > ((), seq)
00:08:26 verbose #14326 > > ||> fold_ fun _ x =>
00:08:26 verbose #14327 > > ar <- *ar ++ a ;[[x]]
00:08:26 verbose #14328 > > *ar
00:08:26 verbose #14329 > 00:08:26 debug #750 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d9f63110a65f06c7ab408b14327d148e7c1f6e825969513d6547a0811569a2c8/main.spi
00:08:26 verbose #14330 > >
00:08:26 verbose #14331 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:26 verbose #14332 > > //// test
00:08:26 verbose #14333 > >
00:08:26 verbose #14334 > > listm.init 10i32 id
00:08:26 verbose #14335 > > |> from_list
00:08:26 verbose #14336 > > |> fun (x : i32 -> _) => x
00:08:26 verbose #14337 > > |> to_array
00:08:26 verbose #14338 > > |> _assert_eq (a ;[[ 0; 1; 2; 3; 4; 5; 6; 7; 8; 9 ]] : _ i32 _)
00:08:26 verbose #14339 > 00:08:26 debug #751 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/92180f1816565f8ddeaad35b44edd7735210c072f638d4d7d9e6c049df88dd40/main.spi
00:08:27 verbose #14340 > >
00:08:27 verbose #14341 > > ╭─[ 261.29ms - stdout ]────────────────────────────────────────────────────────╮
00:08:27 verbose #14342 > > │ assert_eq / actual: [|0; 1; 2; 3; 4; 5; 6; 7; 8; 9|] / expected: [|0; 1; 2; │
00:08:27 verbose #14343 > > │ 3; 4; 5; 6; 7; 8; 9|] │
00:08:27 verbose #14344 > > │ │
00:08:27 verbose #14345 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:27 verbose #14346 > >
00:08:27 verbose #14347 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:27 verbose #14348 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:27 verbose #14349 > > │ ## take_while │
00:08:27 verbose #14350 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:27 verbose #14351 > >
00:08:27 verbose #14352 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:27 verbose #14353 > > inl take_while cond seq =
00:08:27 verbose #14354 > > inl rec loop acc i =
00:08:27 verbose #14355 > > match seq i with
00:08:27 verbose #14356 > > | Some st when cond st i => loop (st :: acc) (i + 1)
00:08:27 verbose #14357 > > | _ => acc |> listm.rev
00:08:27 verbose #14358 > > loop [[]] 0
00:08:27 verbose #14359 > 00:08:26 debug #752 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b54d03729d777e8da066e2e02bd5b19cc21aa1a35c8477b318d6d682c03eddb4/main.spi
00:08:27 verbose #14360 > >
00:08:27 verbose #14361 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:27 verbose #14362 > > //// test
00:08:27 verbose #14363 > >
00:08:27 verbose #14364 > > listm.init 10i32 id
00:08:27 verbose #14365 > > |> from_list
00:08:27 verbose #14366 > > |> take_while (fun n (_ : i32) => n < 5)
00:08:27 verbose #14367 > > |> listm'.sum
00:08:27 verbose #14368 > > |> _assert_eq 10
00:08:27 verbose #14369 > 00:08:26 debug #753 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ce12501d9834df6173d8ace400b022fc548edc16d09d46320a4b5d7bf16dfea/main.spi
00:08:27 verbose #14370 > >
00:08:27 verbose #14371 > > ╭─[ 81.80ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:27 verbose #14372 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:27 verbose #14373 > > │ │
00:08:27 verbose #14374 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:27 verbose #14375 > >
00:08:27 verbose #14376 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:27 verbose #14377 > > //// test
00:08:27 verbose #14378 > >
00:08:27 verbose #14379 > > stream.new_finite_stream print_and_return 10i32
00:08:27 verbose #14380 > > |> flip stream.try_item
00:08:27 verbose #14381 > > |> take_while (fun n (_ : i32) => n < 5)
00:08:27 verbose #14382 > > |> listm'.sum
00:08:27 verbose #14383 > > |> _assert_eq 10
00:08:27 verbose #14384 > 00:08:26 debug #754 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ee62dc099dea7fe144a9c8af6f82c7baa18ac9f8cd10fb10116c364e1124e0d/main.spi
00:08:27 verbose #14385 > >
00:08:27 verbose #14386 > > ╭─[ 106.99ms - stdout ]────────────────────────────────────────────────────────╮
00:08:27 verbose #14387 > > │ print_and_return / x: 0 │
00:08:27 verbose #14388 > > │ print_and_return / x: 1 │
00:08:27 verbose #14389 > > │ print_and_return / x: 1 │
00:08:27 verbose #14390 > > │ print_and_return / x: 2 │
00:08:27 verbose #14391 > > │ print_and_return / x: 1 │
00:08:27 verbose #14392 > > │ print_and_return / x: 2 │
00:08:27 verbose #14393 > > │ print_and_return / x: 3 │
00:08:27 verbose #14394 > > │ print_and_return / x: 1 │
00:08:27 verbose #14395 > > │ print_and_return / x: 2 │
00:08:27 verbose #14396 > > │ print_and_return / x: 3 │
00:08:27 verbose #14397 > > │ print_and_return / x: 4 │
00:08:27 verbose #14398 > > │ print_and_return / x: 1 │
00:08:27 verbose #14399 > > │ print_and_return / x: 2 │
00:08:27 verbose #14400 > > │ print_and_return / x: 3 │
00:08:27 verbose #14401 > > │ print_and_return / x: 4 │
00:08:27 verbose #14402 > > │ print_and_return / x: 5 │
00:08:27 verbose #14403 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:27 verbose #14404 > > │ │
00:08:27 verbose #14405 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:27 verbose #14406 > >
00:08:27 verbose #14407 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:27 verbose #14408 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:27 verbose #14409 > > │ ## take_while_ │
00:08:27 verbose #14410 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:27 verbose #14411 > >
00:08:27 verbose #14412 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:27 verbose #14413 > > inl take_while_ cond seq =
00:08:27 verbose #14414 > > let rec loop acc i =
00:08:27 verbose #14415 > > match seq i with
00:08:27 verbose #14416 > > | Some st when cond st i => loop (st :: acc) (i + 1)
00:08:27 verbose #14417 > > | _ => acc |> listm.rev
00:08:27 verbose #14418 > > loop [[]] 0
00:08:27 verbose #14419 > 00:08:26 debug #755 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2fa4a6976d16d550c3dcb7b131e5b7ed4177a886583eb108762e3966620120cb/main.spi
00:08:27 verbose #14420 > >
00:08:27 verbose #14421 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:27 verbose #14422 > > //// test
00:08:27 verbose #14423 > >
00:08:27 verbose #14424 > > stream.new_infinite_stream_ print_and_return
00:08:27 verbose #14425 > > |> flip stream.try_item
00:08:27 verbose #14426 > > |> take_while_ (fun n (_ : i32) => n < 5i32)
00:08:27 verbose #14427 > > |> listm'.sum
00:08:27 verbose #14428 > > |> _assert_eq 10
00:08:27 verbose #14429 > 00:08:27 debug #756 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/75e2a7e8c20d02d1f0c88ff35bb5da50d6b04033ecbda2e3ad7b2035f06377ae/main.spi
00:08:27 verbose #14430 > >
00:08:27 verbose #14431 > > ╭─[ 191.73ms - stdout ]────────────────────────────────────────────────────────╮
00:08:27 verbose #14432 > > │ print_and_return / x: 0 │
00:08:27 verbose #14433 > > │ print_and_return / x: 1 │
00:08:27 verbose #14434 > > │ print_and_return / x: 1 │
00:08:27 verbose #14435 > > │ print_and_return / x: 2 │
00:08:27 verbose #14436 > > │ print_and_return / x: 1 │
00:08:27 verbose #14437 > > │ print_and_return / x: 2 │
00:08:27 verbose #14438 > > │ print_and_return / x: 3 │
00:08:27 verbose #14439 > > │ print_and_return / x: 1 │
00:08:27 verbose #14440 > > │ print_and_return / x: 2 │
00:08:27 verbose #14441 > > │ print_and_return / x: 3 │
00:08:27 verbose #14442 > > │ print_and_return / x: 4 │
00:08:27 verbose #14443 > > │ print_and_return / x: 1 │
00:08:27 verbose #14444 > > │ print_and_return / x: 2 │
00:08:27 verbose #14445 > > │ print_and_return / x: 3 │
00:08:27 verbose #14446 > > │ print_and_return / x: 4 │
00:08:27 verbose #14447 > > │ print_and_return / x: 5 │
00:08:27 verbose #14448 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:27 verbose #14449 > > │ │
00:08:27 verbose #14450 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:27 verbose #14451 > >
00:08:27 verbose #14452 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:27 verbose #14453 > > //// test
00:08:27 verbose #14454 > >
00:08:27 verbose #14455 > > stream.new_infinite_stream_ print_and_return
00:08:27 verbose #14456 > > |> stream.memoize
00:08:27 verbose #14457 > > |> fun list =>
00:08:27 verbose #14458 > > inl list = list ()
00:08:27 verbose #14459 > > fun n =>
00:08:27 verbose #14460 > > list |> stream.try_item n
00:08:27 verbose #14461 > > |> take_while_ (fun n (_ : i32) => n < 5i32)
00:08:27 verbose #14462 > > |> listm'.sum
00:08:27 verbose #14463 > > |> _assert_eq 10
00:08:27 verbose #14464 > 00:08:27 debug #757 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b598128e21a8fbb8d2eb3930bd8b3ea73a17e030e3c006a6c3a1f909161bf887/main.spi
00:08:27 verbose #14465 > >
00:08:27 verbose #14466 > > ╭─[ 160.56ms - stdout ]────────────────────────────────────────────────────────╮
00:08:27 verbose #14467 > > │ print_and_return / x: 0 │
00:08:27 verbose #14468 > > │ print_and_return / x: 1 │
00:08:27 verbose #14469 > > │ print_and_return / x: 2 │
00:08:27 verbose #14470 > > │ print_and_return / x: 3 │
00:08:27 verbose #14471 > > │ print_and_return / x: 4 │
00:08:27 verbose #14472 > > │ print_and_return / x: 5 │
00:08:27 verbose #14473 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:27 verbose #14474 > > │ │
00:08:27 verbose #14475 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:27 verbose #14476 > >
00:08:27 verbose #14477 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:27 verbose #14478 > > //// test
00:08:27 verbose #14479 > >
00:08:27 verbose #14480 > > stream.new_finite_stream print_and_return 10i32
00:08:27 verbose #14481 > > |> stream.memoize
00:08:27 verbose #14482 > > |> fun list =>
00:08:27 verbose #14483 > > inl list = list ()
00:08:27 verbose #14484 > > fun n =>
00:08:27 verbose #14485 > > list |> stream.try_item n
00:08:27 verbose #14486 > > |> take_while_ (fun n (_ : i32) => n < 5)
00:08:27 verbose #14487 > > |> listm'.sum
00:08:27 verbose #14488 > > |> _assert_eq 10
00:08:27 verbose #14489 > 00:08:27 debug #758 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ec23810110b4432ffbdbaa5e69b7f5d509c5806ac20389dc4c5ed8fcac28c766/main.spi
00:08:28 verbose #14490 > >
00:08:28 verbose #14491 > > ╭─[ 205.31ms - stdout ]────────────────────────────────────────────────────────╮
00:08:28 verbose #14492 > > │ print_and_return / x: 0 │
00:08:28 verbose #14493 > > │ print_and_return / x: 1 │
00:08:28 verbose #14494 > > │ print_and_return / x: 2 │
00:08:28 verbose #14495 > > │ print_and_return / x: 3 │
00:08:28 verbose #14496 > > │ print_and_return / x: 4 │
00:08:28 verbose #14497 > > │ print_and_return / x: 5 │
00:08:28 verbose #14498 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:28 verbose #14499 > > │ │
00:08:28 verbose #14500 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14501 > >
00:08:28 verbose #14502 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:28 verbose #14503 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:28 verbose #14504 > > │ ## memoize │
00:08:28 verbose #14505 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14506 > >
00:08:28 verbose #14507 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14508 > > inl memoize seq =
00:08:28 verbose #14509 > > inl state = mut [[]]
00:08:28 verbose #14510 > > fun n =>
00:08:28 verbose #14511 > > match *state |> listm'.try_find (fun (n', _) => n' = n) with
00:08:28 verbose #14512 > > | Some (_, v) => v
00:08:28 verbose #14513 > > | None =>
00:08:28 verbose #14514 > > inl new_state = seq n
00:08:28 verbose #14515 > > state <- (n, new_state) :: *state
00:08:28 verbose #14516 > > new_state
00:08:28 verbose #14517 > >
00:08:28 verbose #14518 > > inl memoize_ seq =
00:08:28 verbose #14519 > > inl state = mut [[]]
00:08:28 verbose #14520 > > fun n =>
00:08:28 verbose #14521 > > match *state |> listm'.try_find_ (fun (n', _) => n' = n) with
00:08:28 verbose #14522 > > | Some (_, v) => v
00:08:28 verbose #14523 > > | None =>
00:08:28 verbose #14524 > > inl new_state = seq n
00:08:28 verbose #14525 > > state <- (n, new_state) :: *state
00:08:28 verbose #14526 > > new_state
00:08:28 verbose #14527 > 00:08:27 debug #759 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3e304eca6267cf8319f43b6f258bcb0c922f64b320054c533274eb5b8e44acc4/main.spi
00:08:28 verbose #14528 > >
00:08:28 verbose #14529 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14530 > > //// test
00:08:28 verbose #14531 > >
00:08:28 verbose #14532 > > inl seq =
00:08:28 verbose #14533 > > fun n =>
00:08:28 verbose #14534 > > n |> print_and_return |> Some
00:08:28 verbose #14535 > > |> memoize_
00:08:28 verbose #14536 > >
00:08:28 verbose #14537 > > seq
00:08:28 verbose #14538 > > |> take_while_ (fun n (_ : i32) => n < 5)
00:08:28 verbose #14539 > > |> listm'.sum
00:08:28 verbose #14540 > > |> _assert_eq 10
00:08:28 verbose #14541 > >
00:08:28 verbose #14542 > > seq
00:08:28 verbose #14543 > > |> take_while_ (fun n _ => n < 5)
00:08:28 verbose #14544 > > |> listm'.sum
00:08:28 verbose #14545 > > |> _assert_eq 10
00:08:28 verbose #14546 > 00:08:27 debug #760 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d1a80fc4a18f68eb58229f8ee2f83900fae302165d0751b59e9d321b36b20f82/main.spi
00:08:28 verbose #14547 > >
00:08:28 verbose #14548 > > ╭─[ 234.63ms - stdout ]────────────────────────────────────────────────────────╮
00:08:28 verbose #14549 > > │ print_and_return / x: 0 │
00:08:28 verbose #14550 > > │ print_and_return / x: 1 │
00:08:28 verbose #14551 > > │ print_and_return / x: 2 │
00:08:28 verbose #14552 > > │ print_and_return / x: 3 │
00:08:28 verbose #14553 > > │ print_and_return / x: 4 │
00:08:28 verbose #14554 > > │ print_and_return / x: 5 │
00:08:28 verbose #14555 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:28 verbose #14556 > > │ assert_eq / actual: 10 / expected: 10 │
00:08:28 verbose #14557 > > │ │
00:08:28 verbose #14558 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14559 > >
00:08:28 verbose #14560 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:28 verbose #14561 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:28 verbose #14562 > > │ ## iterate │
00:08:28 verbose #14563 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14564 > >
00:08:28 verbose #14565 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14566 > > inl iterate f x0 num_steps =
00:08:28 verbose #14567 > > inl rec loop x n =
00:08:28 verbose #14568 > > if n <= 0
00:08:28 verbose #14569 > > then x
00:08:28 verbose #14570 > > else loop (f x) (n - 1)
00:08:28 verbose #14571 > > loop x0 num_steps
00:08:28 verbose #14572 > 00:08:27 debug #761 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b70f53ccb65b98b50e03ad59f8e4f343f84840abe1ceaa3afdfd2f80c1a3cb0a/main.spi
00:08:28 verbose #14573 > >
00:08:28 verbose #14574 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14575 > > //// test
00:08:28 verbose #14576 > >
00:08:28 verbose #14577 > > 10i32 |> iterate ((*) 2) 1i32
00:08:28 verbose #14578 > > |> _assert_eq 1024
00:08:28 verbose #14579 > 00:08:28 debug #762 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b3dc6be6e93d3b522283576248750c32f610066b263fbd58b61bc942a203161f/main.spi
00:08:28 verbose #14580 > >
00:08:28 verbose #14581 > > ╭─[ 90.13ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:28 verbose #14582 > > │ assert_eq / actual: 1024 / expected: 1024 │
00:08:28 verbose #14583 > > │ │
00:08:28 verbose #14584 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14585 > >
00:08:28 verbose #14586 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14587 > > inl iterate_ f x0 num_steps =
00:08:28 verbose #14588 > > let rec loop x n =
00:08:28 verbose #14589 > > if n <= 0
00:08:28 verbose #14590 > > then x
00:08:28 verbose #14591 > > else loop (f x) (n - 1)
00:08:28 verbose #14592 > > loop x0 num_steps
00:08:28 verbose #14593 > 00:08:28 debug #763 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c4760d21dcd82a1740ca7dbdc17ce82b4083d16ec9bff27fb573f323e63cf3ed/main.spi
00:08:28 verbose #14594 > >
00:08:28 verbose #14595 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14596 > > //// test
00:08:28 verbose #14597 > >
00:08:28 verbose #14598 > > 10i32 |> iterate_ ((*) 2) 1i32
00:08:28 verbose #14599 > > |> _assert_eq 1024
00:08:28 verbose #14600 > 00:08:28 debug #764 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4236d9bff1e1cb57ff39b47c6a9a1b125e7e8c1a2748fe90e4c5e373ec051cf3/main.spi
00:08:28 verbose #14601 > >
00:08:28 verbose #14602 > > ╭─[ 90.89ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:28 verbose #14603 > > │ assert_eq / actual: 1024 / expected: 1024 │
00:08:28 verbose #14604 > > │ │
00:08:28 verbose #14605 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14606 > >
00:08:28 verbose #14607 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14608 > > inl iterate' f x0 num_steps =
00:08:28 verbose #14609 > > listm.init num_steps id
00:08:28 verbose #14610 > > |> listm.fold (fun x _ => f x) x0
00:08:28 verbose #14611 > 00:08:28 debug #765 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/be7c3948d022a359a7795be7973877f5689719147f50064c7f41ba009b79ed05/main.spi
00:08:28 verbose #14612 > >
00:08:28 verbose #14613 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14614 > > //// test
00:08:28 verbose #14615 > >
00:08:28 verbose #14616 > > 10i32 |> iterate' ((*) 2) 1i32
00:08:28 verbose #14617 > > |> _assert_eq 1024
00:08:28 verbose #14618 > 00:08:28 debug #766 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/32c3847bb0386d3d28fc477012c4fe6e4cdee9244d46bbd2763a321a7b8a00c4/main.spi
00:08:28 verbose #14619 > >
00:08:28 verbose #14620 > > ╭─[ 87.36ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:28 verbose #14621 > > │ assert_eq / actual: 1024 / expected: 1024 │
00:08:28 verbose #14622 > > │ │
00:08:28 verbose #14623 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14624 > >
00:08:28 verbose #14625 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:28 verbose #14626 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:28 verbose #14627 > > │ ## find_last │
00:08:28 verbose #14628 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:28 verbose #14629 > >
00:08:28 verbose #14630 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:28 verbose #14631 > > inl find_last forall item result. fold_fn fn target : option result =
00:08:28 verbose #14632 > > fold_fn (fun (item : item) (result : option result) =>
00:08:28 verbose #14633 > > match result with
00:08:28 verbose #14634 > > | None => fn item
00:08:28 verbose #14635 > > | result => result
00:08:28 verbose #14636 > > ) target (None : option result)
00:08:28 verbose #14637 > >
00:08:28 verbose #14638 > > inl array_find_last forall item result. (fn : item -> option result) (target : a
00:08:28 verbose #14639 > > i32 item) : option result =
00:08:28 verbose #14640 > > find_last am.foldBack fn target
00:08:28 verbose #14641 > >
00:08:28 verbose #14642 > > inl list_find_last forall item result. (fn : item -> option result) (target :
00:08:28 verbose #14643 > > list item) : option result =
00:08:28 verbose #14644 > > find_last listm.foldBack fn target
00:08:28 verbose #14645 > 00:08:28 debug #767 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/22940be3fe1ca8935530da840444a96f5e03132117e8fa27007064ed4ef22c36/main.spi
00:08:29 verbose #14646 > 00:00:10 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 54159
00:08:29 verbose #14647 > 00:00:10 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:08:29 verbose #14648 > 00:00:11 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb to html
00:08:29 verbose #14649 > 00:00:11 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:08:29 verbose #14650 > 00:00:11 verbose #7 ! validate(nb)
00:08:30 verbose #14651 > 00:00:11 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:08:30 verbose #14652 > 00:00:11 verbose #9 ! return _pygments_highlight(
00:08:30 verbose #14653 > 00:00:12 verbose #10 ! [NbConvertApp] Writing 376309 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.html
00:08:30 verbose #14654 > 00:00:12 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 890
00:08:30 verbose #14655 > 00:00:12 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 890
00:08:30 verbose #14656 > 00:00:12 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:08:30 verbose #14657 > 00:00:12 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:08:30 verbose #14658 > 00:00:12 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:08:30 verbose #14659 > 00:00:12 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 55108
00:08:30 debug #14660 execute_with_options_async / exit_code: 0 / output.Length: 59274
00:08:30 debug #21 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path seq.dib --retries 3
00:08:30 debug #14661 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path threading.dib --retries 3",
[||], None, None, true, None)
00:08:30 verbose #14662 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "threading.dib", "--retries", "3"])
00:08:30 verbose #14663 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:08:32 verbose #14664 > >
00:08:32 verbose #14665 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:32 verbose #14666 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:32 verbose #14667 > > │ # threading │
00:08:32 verbose #14668 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:32 verbose #14669 > >
00:08:32 verbose #14670 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:32 verbose #14671 > > open rust_operators
00:08:32 verbose #14672 > >
00:08:32 verbose #14673 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:08:32 verbose #14674 > > #r
00:08:32 verbose #14675 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:32 verbose #14676 > > Net.Interactive.Spiral.dll"
00:08:32 verbose #14677 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:08:32 verbose #14678 > > #r
00:08:32 verbose #14679 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:32 verbose #14680 > > Net.Interactive.dll"
00:08:32 verbose #14681 > > open type Microsoft.DotNet.Interactive.Kernel
00:08:34 verbose #14682 > >
00:08:34 verbose #14683 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:34 verbose #14684 > > //// test
00:08:34 verbose #14685 > >
00:08:34 verbose #14686 > > open testing
00:08:34 verbose #14687 > >
00:08:34 verbose #14688 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:34 verbose #14689 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:34 verbose #14690 > > │ ## types │
00:08:34 verbose #14691 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:34 verbose #14692 > >
00:08:34 verbose #14693 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:34 verbose #14694 > > inl types () =
00:08:34 verbose #14695 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14696 > > Fable.Core.Emit(\"std::thread::JoinHandle<$0>\")>]]\n#endif\ntype
00:08:34 verbose #14697 > > std_thread_JoinHandle<'T> = class end"
00:08:34 verbose #14698 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14699 > > Fable.Core.Emit(\"std::sync::Arc<$0>\")>]]\n#endif\ntype std_sync_Arc<'T> =
00:08:34 verbose #14700 > > class end"
00:08:34 verbose #14701 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14702 > > Fable.Core.Emit(\"std::sync::Mutex<$0>\")>]]\n#endif\ntype std_sync_Mutex<'T> =
00:08:34 verbose #14703 > > class end"
00:08:34 verbose #14704 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14705 > > Fable.Core.Emit(\"std::sync::MutexGuard<$0>\")>]]\n#endif\ntype
00:08:34 verbose #14706 > > std_sync_MutexGuard<'T> = class end"
00:08:34 verbose #14707 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14708 > > Fable.Core.Emit(\"std::sync::PoisonError<$0>\")>]]\n#endif\ntype
00:08:34 verbose #14709 > > std_sync_PoisonError<'T> = class end"
00:08:34 verbose #14710 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14711 > > Fable.Core.Emit(\"std::sync::mpsc::Receiver<$0>\")>]]\n#endif\ntype
00:08:34 verbose #14712 > > std_sync_mpsc_Receiver<'T> = class end"
00:08:34 verbose #14713 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14714 > > Fable.Core.Emit(\"std::sync::mpsc::SendError<$0>\")>]]\n#endif\ntype
00:08:34 verbose #14715 > > std_sync_mpsc_SendError<'T> = class end"
00:08:34 verbose #14716 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:08:34 verbose #14717 > > Fable.Core.Emit(\"std::sync::mpsc::Sender<$0>\")>]]\n#endif\ntype
00:08:34 verbose #14718 > > std_sync_mpsc_Sender<'T> = class end"
00:08:35 verbose #14719 > 00:08:34 debug #768 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/31a988b8b7ffa70ccd598d66ea68484260839bad1f9a956722b3230a2455a198/main.spi
00:08:35 verbose #14720 > >
00:08:35 verbose #14721 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14722 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14723 > > │ ## join_handle │
00:08:35 verbose #14724 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14725 > >
00:08:35 verbose #14726 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14727 > > nominal join_handle t = $'std_thread_JoinHandle<`t>'
00:08:35 verbose #14728 > 00:08:34 debug #769 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0e9f51cd931c8c4740d98ba2437c024b985acef4eb2a2462b25649fc0e55cec3/main.spi
00:08:35 verbose #14729 > >
00:08:35 verbose #14730 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14731 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14732 > > │ ## spawn │
00:08:35 verbose #14733 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14734 > >
00:08:35 verbose #14735 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14736 > > inl spawn forall t. depth flag (x : () -> t) : join_handle t =
00:08:35 verbose #14737 > > if flag = 1u8
00:08:35 verbose #14738 > > then (!\($'"true; let __result = std::thread::spawn(move || { //"') : bool)
00:08:35 verbose #14739 > > |> ignore
00:08:35 verbose #14740 > > else (!\($'"true; let __result = std::thread::spawn(|| { //"') : bool) |>
00:08:35 verbose #14741 > > ignore
00:08:35 verbose #14742 > >
00:08:35 verbose #14743 > > let x' = x ()
00:08:35 verbose #14744 > > inl x' = join x'
00:08:35 verbose #14745 > >
00:08:35 verbose #14746 > > x' |> rust.fix_closure depth
00:08:35 verbose #14747 > >
00:08:35 verbose #14748 > > !\($'"__result"')
00:08:35 verbose #14749 > 00:08:35 debug #770 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9eca1fdf06207a799cea01f494c9887c983b15bc7c1669d2f366852c1b5380ba/main.spi
00:08:35 verbose #14750 > >
00:08:35 verbose #14751 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14752 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14753 > > │ ## join' │
00:08:35 verbose #14754 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14755 > >
00:08:35 verbose #14756 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14757 > > inl join' forall t.
00:08:35 verbose #14758 > > (x : join_handle t)
00:08:35 verbose #14759 > > : resultm.result'
00:08:35 verbose #14760 > > t
00:08:35 verbose #14761 > > (
00:08:35 verbose #14762 > > rust.box (
00:08:35 verbose #14763 > > rust.lifetime_join'
00:08:35 verbose #14764 > > rust.dyn'
00:08:35 verbose #14765 > > (
00:08:35 verbose #14766 > > rust.lifetime_join
00:08:35 verbose #14767 > > rust.any
00:08:35 verbose #14768 > > (
00:08:35 verbose #14769 > > rust.lifetime_join'
00:08:35 verbose #14770 > > rust.send
00:08:35 verbose #14771 > > rust.static_lifetime
00:08:35 verbose #14772 > > )
00:08:35 verbose #14773 > > )
00:08:35 verbose #14774 > > )
00:08:35 verbose #14775 > > ) =
00:08:35 verbose #14776 > > !\\(x, $'"std::thread::JoinHandle::join($0)"')
00:08:35 verbose #14777 > 00:08:35 debug #771 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/abe95f2118942972283493f8579760222676c4ff49a17742b67df5b2db2102b4/main.spi
00:08:35 verbose #14778 > >
00:08:35 verbose #14779 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14780 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14781 > > │ ## cancellation_token │
00:08:35 verbose #14782 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14783 > >
00:08:35 verbose #14784 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14785 > > nominal cancellation_token = $'System.Threading.CancellationToken'
00:08:35 verbose #14786 > 00:08:35 debug #772 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/18b35ff35ec2a533b7dcb5957dd70d9643a5f5248ae5af4100d9da1bfc5bfc4c/main.spi
00:08:35 verbose #14787 > >
00:08:35 verbose #14788 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14789 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14790 > > │ ## cancellation_token_source │
00:08:35 verbose #14791 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14792 > >
00:08:35 verbose #14793 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14794 > > nominal cancellation_token_source = $'System.Threading.CancellationTokenSource'
00:08:35 verbose #14795 > 00:08:35 debug #773 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/553c6dc6ef52ffdc67db872660feaae873cf91472d821d758ed53b881bf941e2/main.spi
00:08:35 verbose #14796 > >
00:08:35 verbose #14797 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14798 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14799 > > │ ## cancellation_token_registration │
00:08:35 verbose #14800 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14801 > >
00:08:35 verbose #14802 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14803 > > nominal cancellation_token_registration =
00:08:35 verbose #14804 > > $'System.Threading.CancellationTokenRegistration'
00:08:35 verbose #14805 > 00:08:35 debug #774 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aa7cb8ee24eb716144db2b748f94910ca54f3a7411e00845f0147d776fb695ca/main.spi
00:08:35 verbose #14806 > >
00:08:35 verbose #14807 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14808 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14809 > > │ ## cancellation_source_token │
00:08:35 verbose #14810 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14811 > >
00:08:35 verbose #14812 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14813 > > inl cancellation_source_token (x : cancellation_token_source) :
00:08:35 verbose #14814 > > cancellation_token =
00:08:35 verbose #14815 > > $'!x.Token'
00:08:35 verbose #14816 > 00:08:35 debug #775 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/73bcb56edd3149d900c0729e3a0217a83f88695b5cf1ca488fd80c604f82284d/main.spi
00:08:35 verbose #14817 > >
00:08:35 verbose #14818 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14819 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14820 > > │ ## cancellation_source_cancel │
00:08:35 verbose #14821 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14822 > >
00:08:35 verbose #14823 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14824 > > inl cancellation_source_cancel (x : cancellation_token_source) : () =
00:08:35 verbose #14825 > > run_target function
00:08:35 verbose #14826 > > | Fsharp (Native) => fun () =>
00:08:35 verbose #14827 > > $'!x.Cancel' ()
00:08:35 verbose #14828 > > | _ => fun () => null ()
00:08:35 verbose #14829 > 00:08:35 debug #776 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6a8d9daced56d50ad75a9c3cc07344182b2cd8638af1de33865c82d5027b8020/main.spi
00:08:35 verbose #14830 > >
00:08:35 verbose #14831 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:35 verbose #14832 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:35 verbose #14833 > > │ ## create_linked_token_source │
00:08:35 verbose #14834 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:35 verbose #14835 > >
00:08:35 verbose #14836 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:35 verbose #14837 > > inl create_linked_token_source (x : array_base cancellation_token) :
00:08:35 verbose #14838 > > cancellation_token_source =
00:08:35 verbose #14839 > > x |> $'System.Threading.CancellationTokenSource.CreateLinkedTokenSource'
00:08:35 verbose #14840 > 00:08:35 debug #777 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a9f5999f0dd07d1452e1332db5f4fa120964ae20eb2bc19f2c003d42538b087a/main.spi
00:08:36 verbose #14841 > >
00:08:36 verbose #14842 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14843 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14844 > > │ ## sleep │
00:08:36 verbose #14845 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14846 > >
00:08:36 verbose #14847 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14848 > > inl sleep (duration : date_time.duration) : () =
00:08:36 verbose #14849 > > inl duration = join duration
00:08:36 verbose #14850 > > !\($'"std::thread::sleep(!duration)"')
00:08:36 verbose #14851 > 00:08:35 debug #778 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c89c6ddc01ace4df4fffaea7be65445d738ba55ac775d195f7ca134c66074b2b/main.spi
00:08:36 verbose #14852 > >
00:08:36 verbose #14853 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14854 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14855 > > │ ## concurrent_stack │
00:08:36 verbose #14856 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14857 > >
00:08:36 verbose #14858 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14859 > > nominal concurrent_stack t =
00:08:36 verbose #14860 > > $'System.Collections.Concurrent.ConcurrentStack<`t>'
00:08:36 verbose #14861 > 00:08:36 debug #779 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2caf0cf78df527e91cd7fe4006ec33db6954f4434829691bcd168e042297985d/main.spi
00:08:36 verbose #14862 > >
00:08:36 verbose #14863 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14864 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14865 > > │ ## concurrent_stack_push │
00:08:36 verbose #14866 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14867 > >
00:08:36 verbose #14868 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14869 > > inl concurrent_stack_push forall t. (item : t) (stack : concurrent_stack t) : ()
00:08:36 verbose #14870 > > =
00:08:36 verbose #14871 > > $'!stack.Push' item
00:08:36 verbose #14872 > 00:08:36 debug #780 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4be4c40dd26974292647550601cfc630446a220bac00fda83b35dba36a9f938a/main.spi
00:08:36 verbose #14873 > >
00:08:36 verbose #14874 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14875 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14876 > > │ ## token_none │
00:08:36 verbose #14877 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14878 > >
00:08:36 verbose #14879 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14880 > > inl token_none () : cancellation_token =
00:08:36 verbose #14881 > > $'`cancellation_token.None'
00:08:36 verbose #14882 > 00:08:36 debug #781 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/75d79cc2a6f2b4946f9277a47fe12f043aed28720774d1908e3346d90da82645/main.spi
00:08:36 verbose #14883 > >
00:08:36 verbose #14884 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14885 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14886 > > │ ## new_concurrent_stack │
00:08:36 verbose #14887 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14888 > >
00:08:36 verbose #14889 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14890 > > inl new_concurrent_stack forall t. () : concurrent_stack t =
00:08:36 verbose #14891 > > $'System.Collections.Concurrent.ConcurrentStack<`t>' ()
00:08:36 verbose #14892 > 00:08:36 debug #782 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/38f6feb172783dd32f35fa318ad85cf6b1883726b5526ea471a998dcd9058485/main.spi
00:08:36 verbose #14893 > >
00:08:36 verbose #14894 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14895 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14896 > > │ ## token_register │
00:08:36 verbose #14897 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14898 > >
00:08:36 verbose #14899 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14900 > > inl token_register (fn : () -> ()) (ct : cancellation_token) :
00:08:36 verbose #14901 > > cancellation_token_registration =
00:08:36 verbose #14902 > > fn |> $'!ct.Register'
00:08:36 verbose #14903 > 00:08:36 debug #783 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6ae277dc1fdab06728795796f181b155a7dd60deba2148b4a0116a66fde1dfcc/main.spi
00:08:36 verbose #14904 > >
00:08:36 verbose #14905 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14906 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14907 > > │ ## new_cancellation_token_source │
00:08:36 verbose #14908 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14909 > >
00:08:36 verbose #14910 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14911 > > inl new_cancellation_token_source () : cancellation_token_source =
00:08:36 verbose #14912 > > $'new `cancellation_token_source ()'
00:08:36 verbose #14913 > 00:08:36 debug #784 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/aa61f7776c9ff01923a1abb93e20eb9a95482658f9275b25465ba01d9bf2969e/main.spi
00:08:36 verbose #14914 > >
00:08:36 verbose #14915 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14916 > > inl token_cancellation_requested (ct : cancellation_token) : bool =
00:08:36 verbose #14917 > > $'!ct.IsCancellationRequested'
00:08:36 verbose #14918 > 00:08:36 debug #785 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c444fff1809a8771137941d5109cba012709aba2bb81ca7c6fe4fdcb2885fdea/main.spi
00:08:36 verbose #14919 > >
00:08:36 verbose #14920 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:36 verbose #14921 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:36 verbose #14922 > > │ ## new_disposable_token │
00:08:36 verbose #14923 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:36 verbose #14924 > >
00:08:36 verbose #14925 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:36 verbose #14926 > > inl new_disposable_token (merge_token : optionm'.option' cancellation_token) =
00:08:36 verbose #14927 > > run_target function
00:08:36 verbose #14928 > > | Fsharp (Native) => fun () =>
00:08:36 verbose #14929 > > inl cts = new_cancellation_token_source ()
00:08:36 verbose #14930 > > inl cts =
00:08:36 verbose #14931 > > match merge_token |> optionm'.unbox with
00:08:36 verbose #14932 > > | None => cts
00:08:36 verbose #14933 > > | Some merge_token =>
00:08:36 verbose #14934 > > create_linked_token_source ;[[ cts |>
00:08:36 verbose #14935 > > cancellation_source_token; merge_token ]]
00:08:36 verbose #14936 > > inl disposable : _ () = new_disposable fun () =>
00:08:36 verbose #14937 > > cts |> cancellation_source_cancel
00:08:36 verbose #14938 > > cts |> cancellation_source_token, disposable
00:08:36 verbose #14939 > > | _ => fun () => null ()
00:08:36 verbose #14940 > 00:08:36 debug #786 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b31410005efbb0792dcb8762a3b608a613a87b1edc01bf76551d6abfc1891f71/main.spi
00:08:37 verbose #14941 > >
00:08:37 verbose #14942 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:37 verbose #14943 > > //// test
00:08:37 verbose #14944 > >
00:08:37 verbose #14945 > > inl run fn =
00:08:37 verbose #14946 > > inl token, disposable = new_disposable_token (None |> optionm'.box)
00:08:37 verbose #14947 > > disposable |> use |> ignore
00:08:37 verbose #14948 > > fn token
00:08:37 verbose #14949 > > fun () =>
00:08:37 verbose #14950 > > fn token
00:08:37 verbose #14951 > > |> async.new_async
00:08:37 verbose #14952 > > |> async.start
00:08:37 verbose #14953 > >
00:08:37 verbose #14954 > > fun () =>
00:08:37 verbose #14955 > > inl counter = mut 0i32
00:08:37 verbose #14956 > >
00:08:37 verbose #14957 > > inl fn (token : cancellation_token) =
00:08:37 verbose #14958 > > counter <- *counter + (if token |> token_cancellation_requested then 10
00:08:37 verbose #14959 > > else 1)
00:08:37 verbose #14960 > >
00:08:37 verbose #14961 > > join run fn
00:08:37 verbose #14962 > > async.sleep 10 |> async.do
00:08:37 verbose #14963 > > return *counter
00:08:37 verbose #14964 > > |> async.new_async_unit
00:08:37 verbose #14965 > > |> async.run_synchronously
00:08:37 verbose #14966 > > |> _assert_eq 11i32
00:08:37 verbose #14967 > 00:08:36 debug #787 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eee024a65372f6e1495b45a32b6a68e461e402af24c061f08c96d5fe184a2140/main.spi
00:08:38 verbose #14968 > >
00:08:38 verbose #14969 > > ╭─[ 1.32s - stdout ]───────────────────────────────────────────────────────────╮
00:08:38 verbose #14970 > > │ assert_eq / actual: 11 / expected: 11 │
00:08:38 verbose #14971 > > │ │
00:08:38 verbose #14972 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #14973 > >
00:08:38 verbose #14974 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #14975 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #14976 > > │ ## arc │
00:08:38 verbose #14977 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #14978 > >
00:08:38 verbose #14979 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #14980 > > nominal arc t = $"std_sync_Arc<`t>"
00:08:38 verbose #14981 > 00:08:37 debug #788 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/99c843c534ed67802bc9b30caf3df2d844c383a45bce292e18b702e822c39acc/main.spi
00:08:38 verbose #14982 > >
00:08:38 verbose #14983 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #14984 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #14985 > > │ ## new_arc │
00:08:38 verbose #14986 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #14987 > >
00:08:38 verbose #14988 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #14989 > > inl new_arc forall t. (x : t) : arc t =
00:08:38 verbose #14990 > > !\\(x, $'"std::sync::Arc::new($0)"')
00:08:38 verbose #14991 > 00:08:38 debug #789 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8477a04d3b0798ac12b81200d3ec35674d9875128e7a826a06c8828e5d4b63d7/main.spi
00:08:38 verbose #14992 > >
00:08:38 verbose #14993 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #14994 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #14995 > > │ ## mutex │
00:08:38 verbose #14996 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #14997 > >
00:08:38 verbose #14998 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #14999 > > nominal mutex t = $"std_sync_Mutex<`t>"
00:08:38 verbose #15000 > 00:08:38 debug #790 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6d9f87b9a98b1b1d776b3fb15fe5dfad0984c974dc0f9c49ba865610f8960eba/main.spi
00:08:38 verbose #15001 > >
00:08:38 verbose #15002 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #15003 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #15004 > > │ ## new_mutex │
00:08:38 verbose #15005 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #15006 > >
00:08:38 verbose #15007 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #15008 > > inl new_mutex forall t. (x : t) : mutex t =
00:08:38 verbose #15009 > > !\\(x, $'"std::sync::Mutex::new($0)"')
00:08:38 verbose #15010 > 00:08:38 debug #791 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/61c8d8625bcc448ec2527fe7a283fb972891ae784f3ebc470a7a0ac8de7f5d30/main.spi
00:08:38 verbose #15011 > >
00:08:38 verbose #15012 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #15013 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #15014 > > │ ## new_arc_mutex │
00:08:38 verbose #15015 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #15016 > >
00:08:38 verbose #15017 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #15018 > > inl new_arc_mutex forall t. (x : t) : arc (mutex t) =
00:08:38 verbose #15019 > > x |> new_mutex |> new_arc
00:08:38 verbose #15020 > 00:08:38 debug #792 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/110f9be1c7014f9292572c4120baab605766a8bacd0f509e342eec5a959b6905/main.spi
00:08:38 verbose #15021 > >
00:08:38 verbose #15022 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #15023 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #15024 > > │ ## arc_clone │
00:08:38 verbose #15025 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #15026 > >
00:08:38 verbose #15027 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #15028 > > inl arc_clone forall t. (x : arc t) : arc t =
00:08:38 verbose #15029 > > inl x = join x
00:08:38 verbose #15030 > > !\($'"std::sync::Arc::clone(&!x)"')
00:08:38 verbose #15031 > 00:08:38 debug #793 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/108edab28e7b486379b819aa7f70d30d7a3a943bd2d3174d84d6f103b822e024/main.spi
00:08:38 verbose #15032 > >
00:08:38 verbose #15033 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #15034 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #15035 > > │ ## mutex_guard │
00:08:38 verbose #15036 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #15037 > >
00:08:38 verbose #15038 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #15039 > > nominal mutex_guard t = $"std_sync_MutexGuard<`t>"
00:08:38 verbose #15040 > 00:08:38 debug #794 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5fb1da7d48aa6337c1a3f6f833ba8ed1c5e26d5c4cdf17e2e89a6d8692cc8116/main.spi
00:08:38 verbose #15041 > >
00:08:38 verbose #15042 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #15043 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #15044 > > │ ## poison_error │
00:08:38 verbose #15045 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #15046 > >
00:08:38 verbose #15047 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #15048 > > nominal poison_error t = $"std_sync_PoisonError<`t>"
00:08:38 verbose #15049 > 00:08:38 debug #795 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/396c4dc943c6fce3ea9b525555446db86d9387161a4a9fc62a7aec4dc792560e/main.spi
00:08:38 verbose #15050 > >
00:08:38 verbose #15051 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:38 verbose #15052 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:38 verbose #15053 > > │ ## arc_mutex_lock │
00:08:38 verbose #15054 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:38 verbose #15055 > >
00:08:38 verbose #15056 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:38 verbose #15057 > > inl arc_mutex_lock forall t. (x : arc (mutex t)) : resultm.result' (mutex_guard
00:08:38 verbose #15058 > > t) (poison_error (mutex_guard t)) =
00:08:38 verbose #15059 > > !\\(x, $'"$0.lock()"')
00:08:38 verbose #15060 > 00:08:38 debug #796 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cf16d26c429047ea0585198c6d21e86e684ad78186f24a1b8720ef694e60fffc/main.spi
00:08:39 verbose #15061 > >
00:08:39 verbose #15062 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15063 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15064 > > │ ## mutex_guard_ref │
00:08:39 verbose #15065 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15066 > >
00:08:39 verbose #15067 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15068 > > inl mutex_guard_ref forall t. (x : mutex_guard t) : rust.ref' t =
00:08:39 verbose #15069 > > !\\(x, $'"&$0"')
00:08:39 verbose #15070 > 00:08:38 debug #797 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6b1126adfddae2360df8ad60a2af45f08c37694523865beb62816f1ff4763267/main.spi
00:08:39 verbose #15071 > >
00:08:39 verbose #15072 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15073 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15074 > > │ ## mutex_guard_ref_mut │
00:08:39 verbose #15075 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15076 > >
00:08:39 verbose #15077 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15078 > > inl mutex_guard_ref_mut forall t. (x : mutex_guard t) : rust.ref' (rust.mut' t)
00:08:39 verbose #15079 > > =
00:08:39 verbose #15080 > > (!\($'"true; let mut !x = !x"') : bool) |> ignore
00:08:39 verbose #15081 > > !\\(x, $'"&mut $0"')
00:08:39 verbose #15082 > 00:08:38 debug #798 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e3f91a91f310e7b7441bce872b780e504b09800aa07aa3c8dca85298cf9a159b/main.spi
00:08:39 verbose #15083 > >
00:08:39 verbose #15084 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15085 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15086 > > │ ## channel_receiver │
00:08:39 verbose #15087 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15088 > >
00:08:39 verbose #15089 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15090 > > nominal channel_receiver t = $'std_sync_mpsc_Receiver<`t>'
00:08:39 verbose #15091 > 00:08:38 debug #799 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/97c43db3d7fdff2335e3ace8860a9682a2caa2bdd64262242e19eb5f86f93f0e/main.spi
00:08:39 verbose #15092 > >
00:08:39 verbose #15093 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15094 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15095 > > │ ## channel_sender │
00:08:39 verbose #15096 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15097 > >
00:08:39 verbose #15098 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15099 > > nominal channel_sender t = $'std_sync_mpsc_Sender<`t>'
00:08:39 verbose #15100 > 00:08:38 debug #800 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6de8f71dad841b97950c5d28e57dd505bec2d1796c4c9119d8b74d59bf2e9430/main.spi
00:08:39 verbose #15101 > >
00:08:39 verbose #15102 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15103 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15104 > > │ ## new_channel │
00:08:39 verbose #15105 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15106 > >
00:08:39 verbose #15107 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15108 > > inl new_channel () : channel_sender sm'.std_string * arc (channel_receiver
00:08:39 verbose #15109 > > sm'.std_string) =
00:08:39 verbose #15110 > > !\($'"{ let (sender, receiver) = std::sync::mpsc::channel(); (sender,
00:08:39 verbose #15111 > > std::sync::Arc::new(receiver)) }"')
00:08:39 verbose #15112 > 00:08:38 debug #801 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3a1338224b5150b0b7e1436d6859785977213d6e4118a893cbfbaa5b5036857e/main.spi
00:08:39 verbose #15113 > >
00:08:39 verbose #15114 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15115 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15116 > > │ ## send_error │
00:08:39 verbose #15117 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15118 > >
00:08:39 verbose #15119 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15120 > > nominal send_error t = $"std_sync_mpsc_SendError<`t>"
00:08:39 verbose #15121 > 00:08:38 debug #802 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0ebebc177a2fcf235653afd125d8233ce5518932d8e1a4840697b21d977010b6/main.spi
00:08:39 verbose #15122 > >
00:08:39 verbose #15123 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15124 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15125 > > │ ## channel_send │
00:08:39 verbose #15126 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15127 > >
00:08:39 verbose #15128 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15129 > > inl channel_send forall t. (line : t) (sender : rust.ref' (channel_sender t)) :
00:08:39 verbose #15130 > > resultm.result' () (send_error sm'.std_string) =
00:08:39 verbose #15131 > > !\\((sender, line), $'"$0.send($1)"')
00:08:39 verbose #15132 > 00:08:39 debug #803 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/09bf75616d4945a381d291747862e2ca41915682c663e35096ab7156e3f5969e/main.spi
00:08:39 verbose #15133 > >
00:08:39 verbose #15134 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:39 verbose #15135 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:39 verbose #15136 > > │ ## main │
00:08:39 verbose #15137 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:39 verbose #15138 > >
00:08:39 verbose #15139 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:39 verbose #15140 > > inl main () =
00:08:39 verbose #15141 > > types ()
00:08:39 verbose #15142 > > $"let new_disposable_token x = !new_disposable_token x" : ()
00:08:39 verbose #15143 > 00:08:39 debug #804 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/20bc469ba96a6fb3269920ef4eb3bc96920d645397ac0480918f501f4306e3a5/main.spi
00:08:39 verbose #15144 > 00:00:08 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 25606
00:08:39 verbose #15145 > 00:00:08 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:08:40 verbose #15146 > 00:00:09 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb to html
00:08:40 verbose #15147 > 00:00:09 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:08:40 verbose #15148 > 00:00:09 verbose #7 ! validate(nb)
00:08:40 verbose #15149 > 00:00:09 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:08:40 verbose #15150 > 00:00:09 verbose #9 ! return _pygments_highlight(
00:08:41 verbose #15151 > 00:00:10 verbose #10 ! [NbConvertApp] Writing 337263 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.html
00:08:41 verbose #15152 > 00:00:10 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 902
00:08:41 verbose #15153 > 00:00:10 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 902
00:08:41 verbose #15154 > 00:00:10 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:08:41 verbose #15155 > 00:00:10 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:08:41 verbose #15156 > 00:00:10 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:08:41 verbose #15157 > 00:00:10 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 26567
00:08:41 debug #15158 execute_with_options_async / exit_code: 0 / output.Length: 29875
00:08:41 debug #22 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path threading.dib --retries 3
00:08:41 debug #15159 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path physics.dib --retries 3",
[||], None, None, true, None)
00:08:41 verbose #15160 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "physics.dib", "--retries", "3"])
00:08:41 verbose #15161 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:08:42 verbose #15162 > >
00:08:42 verbose #15163 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:42 verbose #15164 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:42 verbose #15165 > > │ # physics │
00:08:42 verbose #15166 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:42 verbose #15167 > >
00:08:42 verbose #15168 > > ── fsharp ──────────────────────────────────────────────────────────────────────
00:08:42 verbose #15169 > > #!import ../../lib/fsharp/Plotting.dib
00:08:42 verbose #15170 > >
00:08:42 verbose #15171 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:42 verbose #15172 > > #r
00:08:42 verbose #15173 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Asp
00:08:42 verbose #15174 > > NetCore.Html.Abstractions.dll"
00:08:42 verbose #15175 > > #r
00:08:42 verbose #15176 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:42 verbose #15177 > > Net.Interactive.dll"
00:08:42 verbose #15178 > > #r
00:08:42 verbose #15179 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:42 verbose #15180 > > Net.Interactive.FSharp.dll"
00:08:42 verbose #15181 > > #r
00:08:42 verbose #15182 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:42 verbose #15183 > > Net.Interactive.Formatting.dll"
00:08:42 verbose #15184 > > open System
00:08:42 verbose #15185 > > open System.IO
00:08:42 verbose #15186 > > open System.Text
00:08:42 verbose #15187 > > open Microsoft.DotNet.Interactive.Formatting
00:08:44 verbose #15188 > >
00:08:44 verbose #15189 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:44 verbose #15190 > > #r
00:08:44 verbose #15191 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:44 verbose #15192 > > Net.Interactive.FSharp.dll"
00:08:44 verbose #15193 > > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
00:08:44 verbose #15194 > > #r
00:08:44 verbose #15195 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:44 verbose #15196 > > Net.Interactive.dll"
00:08:44 verbose #15197 > > open type Microsoft.DotNet.Interactive.Kernel
00:08:45 verbose #15198 > >
00:08:45 verbose #15199 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:45 verbose #15200 > > Formatter.Register(fun(x: obj)(writer: TextWriter)->fprintfn writer "%120A" x)
00:08:45 verbose #15201 > >
00:08:45 verbose #15202 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:45 verbose #15203 > > Formatter.Register(fun(x: System.Collections.IEnumerable)(writer:
00:08:45 verbose #15204 > > TextWriter)->fprintfn writer "%120A" x)
00:08:45 verbose #15205 > >
00:08:45 verbose #15206 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:45 verbose #15207 > > #r
00:08:45 verbose #15208 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
00:08:45 verbose #15209 > > dard2.1/FSharp.Control.AsyncSeq.dll"
00:08:45 verbose #15210 > > #r
00:08:45 verbose #15211 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
00:08:45 verbose #15212 > > 0/System.Reactive.dll"
00:08:45 verbose #15213 > > #r
00:08:45 verbose #15214 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
00:08:45 verbose #15215 > > netstandard2.0/System.Reactive.Linq.dll"
00:08:45 verbose #15216 > > #r
00:08:45 verbose #15217 > > @"../../../../../../../.nuget/packages/argu/6.2.2/lib/netstandard2.0/Argu.dll"
00:08:45 verbose #15218 > > #r
00:08:45 verbose #15219 > > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha
00:08:45 verbose #15220 > > rp.Json.dll"
00:08:45 verbose #15221 > >
00:08:45 verbose #15222 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:45 verbose #15223 > > //// test
00:08:45 verbose #15224 > >
00:08:45 verbose #15225 > > Formatter.ListExpansionLimit <- 100
00:08:45 verbose #15226 > >
00:08:45 verbose #15227 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:45 verbose #15228 > > #if FABLE_COMPILER
00:08:45 verbose #15229 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:08:45 verbose #15230 > > #endif
00:08:45 verbose #15231 > > type std_env_VarError = class end
00:08:45 verbose #15232 > > #if FABLE_COMPILER
00:08:45 verbose #15233 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:08:45 verbose #15234 > > #endif
00:08:45 verbose #15235 > > type core_any_Any = class end
00:08:45 verbose #15236 > > #if FABLE_COMPILER
00:08:45 verbose #15237 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:08:45 verbose #15238 > > #endif
00:08:45 verbose #15239 > > type core_ops_Try<'T> = class end
00:08:45 verbose #15240 > > #if FABLE_COMPILER
00:08:45 verbose #15241 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:08:45 verbose #15242 > > #endif
00:08:45 verbose #15243 > > type Func0<'T> = class end
00:08:45 verbose #15244 > > #if FABLE_COMPILER
00:08:45 verbose #15245 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:08:45 verbose #15246 > > #endif
00:08:45 verbose #15247 > > type Func0<'T, 'U> = class end
00:08:45 verbose #15248 > > #if FABLE_COMPILER
00:08:45 verbose #15249 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:08:45 verbose #15250 > > #endif
00:08:45 verbose #15251 > > type Box<'T> = class end
00:08:45 verbose #15252 > > #if FABLE_COMPILER
00:08:45 verbose #15253 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:08:45 verbose #15254 > > #endif
00:08:45 verbose #15255 > > type Dyn<'T> = class end
00:08:45 verbose #15256 > > #if FABLE_COMPILER
00:08:45 verbose #15257 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:08:45 verbose #15258 > > #endif
00:08:45 verbose #15259 > > type Send<'T> = class end
00:08:45 verbose #15260 > > #if FABLE_COMPILER
00:08:45 verbose #15261 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:08:45 verbose #15262 > > #endif
00:08:45 verbose #15263 > > type Fn<'T> = class end
00:08:45 verbose #15264 > > #if FABLE_COMPILER
00:08:45 verbose #15265 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:08:45 verbose #15266 > > #endif
00:08:45 verbose #15267 > > type FnUnit = class end
00:08:45 verbose #15268 > > #if FABLE_COMPILER
00:08:45 verbose #15269 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:08:45 verbose #15270 > > #endif
00:08:45 verbose #15271 > > type FnOnce<'T> = class end
00:08:45 verbose #15272 > > #if FABLE_COMPILER
00:08:45 verbose #15273 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:08:45 verbose #15274 > > #endif
00:08:45 verbose #15275 > > type ActionFn<'T> = class end
00:08:45 verbose #15276 > > #if FABLE_COMPILER
00:08:45 verbose #15277 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:08:45 verbose #15278 > > #endif
00:08:45 verbose #15279 > > type ActionFn2<'T, 'U> = class end
00:08:45 verbose #15280 > > #if FABLE_COMPILER
00:08:45 verbose #15281 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:08:45 verbose #15282 > > #endif
00:08:45 verbose #15283 > > type Impl<'T> = class end
00:08:45 verbose #15284 > > #if FABLE_COMPILER
00:08:45 verbose #15285 > > [[<Fable...
00:08:47 verbose #15286 > >
00:08:47 verbose #15287 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:47 verbose #15288 > > #if FABLE_COMPILER
00:08:47 verbose #15289 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:08:47 verbose #15290 > > #endif
00:08:47 verbose #15291 > > type core_any_Any = class end
00:08:47 verbose #15292 > > #if FABLE_COMPILER
00:08:47 verbose #15293 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:08:47 verbose #15294 > > #endif
00:08:47 verbose #15295 > > type core_ops_Try<'T> = class end
00:08:47 verbose #15296 > > #if FABLE_COMPILER
00:08:47 verbose #15297 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:08:47 verbose #15298 > > #endif
00:08:47 verbose #15299 > > type Func0<'T> = class end
00:08:47 verbose #15300 > > #if FABLE_COMPILER
00:08:47 verbose #15301 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:08:47 verbose #15302 > > #endif
00:08:47 verbose #15303 > > type Func0<'T, 'U> = class end
00:08:47 verbose #15304 > > #if FABLE_COMPILER
00:08:47 verbose #15305 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:08:47 verbose #15306 > > #endif
00:08:47 verbose #15307 > > type Box<'T> = class end
00:08:47 verbose #15308 > > #if FABLE_COMPILER
00:08:47 verbose #15309 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:08:47 verbose #15310 > > #endif
00:08:47 verbose #15311 > > type Dyn<'T> = class end
00:08:47 verbose #15312 > > #if FABLE_COMPILER
00:08:47 verbose #15313 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:08:47 verbose #15314 > > #endif
00:08:47 verbose #15315 > > type Send<'T> = class end
00:08:47 verbose #15316 > > #if FABLE_COMPILER
00:08:47 verbose #15317 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:08:47 verbose #15318 > > #endif
00:08:47 verbose #15319 > > type Fn<'T> = class end
00:08:47 verbose #15320 > > #if FABLE_COMPILER
00:08:47 verbose #15321 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:08:47 verbose #15322 > > #endif
00:08:47 verbose #15323 > > type FnUnit = class end
00:08:47 verbose #15324 > > #if FABLE_COMPILER
00:08:47 verbose #15325 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:08:47 verbose #15326 > > #endif
00:08:47 verbose #15327 > > type FnOnce<'T> = class end
00:08:47 verbose #15328 > > #if FABLE_COMPILER
00:08:47 verbose #15329 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0)")>]]
00:08:47 verbose #15330 > > #endif
00:08:47 verbose #15331 > > type ActionFn<'T> = class end
00:08:47 verbose #15332 > > #if FABLE_COMPILER
00:08:47 verbose #15333 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn($0, $1)")>]]
00:08:47 verbose #15334 > > #endif
00:08:47 verbose #15335 > > type ActionFn2<'T, 'U> = class end
00:08:47 verbose #15336 > > #if FABLE_COMPILER
00:08:47 verbose #15337 > > [[<Fable.Core.Erase; Fable.Core.Emit("impl $0")>]]
00:08:47 verbose #15338 > > #endif
00:08:47 verbose #15339 > > type Impl<'T> = class end
00:08:47 verbose #15340 > > #if FABLE_COMPILER
00:08:47 verbose #15341 > > [[<Fable.Core.Erase; Fable.Core.Emit("mut $0")>]]
00:08:47 verbose #15342 > > #endif
00:08:47 verbose #15343 > > type Mut<'T> = class end
00:08:47 verbose #15344 > > #if FABLE_COMPILER
00:08:47 verbose #15345 > > [[<Fable.Core.Erase; Fable.Co...
00:08:48 verbose #15346 > >
00:08:48 verbose #15347 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:48 verbose #15348 > > #if FABLE_COMPILER
00:08:48 verbose #15349 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]]
00:08:48 verbose #15350 > > #endif
00:08:48 verbose #15351 > > type async_std_task_JoinHandle<'T> = class end
00:08:48 verbose #15352 > > #if FABLE_COMPILER
00:08:48 verbose #15353 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::future::Future<Output = $0>")>]]
00:08:48 verbose #15354 > > #endif
00:08:48 verbose #15355 > > type std_future_Future<'T> = class end
00:08:48 verbose #15356 > > #if FABLE_COMPILER
00:08:48 verbose #15357 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::vec::IntoIter<$0>")>]]
00:08:48 verbose #15358 > > #endif
00:08:48 verbose #15359 > > type rayon_vec_IntoIter<'T> = class end
00:08:48 verbose #15360 > > #if FABLE_COMPILER
00:08:48 verbose #15361 > > [[<Fable.Core.Erase; Fable.Core.Emit("rayon::iter::Map<$0, _>")>]]
00:08:48 verbose #15362 > > #endif
00:08:48 verbose #15363 > > type rayon_iter_Map<'T> = class end
00:08:48 verbose #15364 > > #if FABLE_COMPILER
00:08:48 verbose #15365 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures_lite::stream::StreamExt")>]]
00:08:48 verbose #15366 > > #endif
00:08:48 verbose #15367 > > type futures_lite_stream_StreamExt = class end
00:08:48 verbose #15368 > > #if FABLE_COMPILER
00:08:48 verbose #15369 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::TryJoinAll<$0>")>]]
00:08:48 verbose #15370 > > #endif
00:08:48 verbose #15371 > > type futures_future_TryJoinAll<'T> = class end
00:08:48 verbose #15372 > > #if FABLE_COMPILER
00:08:48 verbose #15373 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::Fuse<$0>")>]]
00:08:48 verbose #15374 > > #endif
00:08:48 verbose #15375 > > type futures_future_Fuse<'T> = class end
00:08:48 verbose #15376 > > #if FABLE_COMPILER
00:08:48 verbose #15377 > > [[<Fable.Core.Erase; Fable.Core.Emit("futures::future::JoinAll<$0>")>]]
00:08:48 verbose #15378 > > #endif
00:08:48 verbose #15379 > > type futures_future_JoinAll<'T> = class end
00:08:48 verbose #15380 > > let rec closure0 () (v0 : System.Threading.CancellationToken) :
00:08:48 verbose #15381 > > Async<System.Threading.CancellationToken> =
00:08:48 verbose #15382 > > let v1 : bool = true
00:08:48 verbose #15383 > > let mutable _v1 : Async<System.Threading.CancellationToken> option = None
00:08:48 verbose #15384 > >
00:08:48 verbose #15385 > > #if FABLE_COMPILER || WASM || CONTRACT
00:08:48 verbose #15386 > >
00:08:48 verbose #15387 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT
00:08:48 verbose #15388 > > let v2 : Async<System.Threading.CancellationToken> = null |>
00:08:48 verbose #15389 > > unbox<Async<System...
00:08:48 verbose #15390 > >
00:08:48 verbose #15391 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:48 verbose #15392 > > #if FABLE_COMPILER
00:08:48 verbose #15393 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::thread::JoinHandle<$0>")>]]
00:08:48 verbose #15394 > > #endif
00:08:48 verbose #15395 > > type std_thread_JoinHandle<'T> = class end
00:08:48 verbose #15396 > > #if FABLE_COMPILER
00:08:48 verbose #15397 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Arc<$0>")>]]
00:08:48 verbose #15398 > > #endif
00:08:48 verbose #15399 > > type std_sync_Arc<'T> = class end
00:08:48 verbose #15400 > > #if FABLE_COMPILER
00:08:48 verbose #15401 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::Mutex<$0>")>]]
00:08:48 verbose #15402 > > #endif
00:08:48 verbose #15403 > > type std_sync_Mutex<'T> = class end
00:08:48 verbose #15404 > > #if FABLE_COMPILER
00:08:48 verbose #15405 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::MutexGuard<$0>")>]]
00:08:48 verbose #15406 > > #endif
00:08:48 verbose #15407 > > type std_sync_MutexGuard<'T> = class end
00:08:48 verbose #15408 > > #if FABLE_COMPILER
00:08:48 verbose #15409 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::PoisonError<$0>")>]]
00:08:48 verbose #15410 > > #endif
00:08:48 verbose #15411 > > type std_sync_PoisonError<'T> = class end
00:08:48 verbose #15412 > > #if FABLE_COMPILER
00:08:48 verbose #15413 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Receiver<$0>")>]]
00:08:48 verbose #15414 > > #endif
00:08:48 verbose #15415 > > type std_sync_mpsc_Receiver<'T> = class end
00:08:48 verbose #15416 > > #if FABLE_COMPILER
00:08:48 verbose #15417 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::SendError<$0>")>]]
00:08:48 verbose #15418 > > #endif
00:08:48 verbose #15419 > > type std_sync_mpsc_SendError<'T> = class end
00:08:48 verbose #15420 > > #if FABLE_COMPILER
00:08:48 verbose #15421 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::sync::mpsc::Sender<$0>")>]]
00:08:48 verbose #15422 > > #endif
00:08:48 verbose #15423 > > type std_sync_mpsc_Sender<'T> = class end
00:08:48 verbose #15424 > > type Disposable (f : unit -> unit) = interface System.IDisposable with member
00:08:48 verbose #15425 > > _.Dispose () = f ()
00:08:48 verbose #15426 > > type [[<Struct>]] US0 =
00:08:48 verbose #15427 > > | US0_0 of f0_0 : System.Threading.CancellationToken
00:08:48 verbose #15428 > > | US0_1
00:08:48 verbose #15429 > > let rec closure1 (v0 : System.Threading.CancellationTokenSource) () : unit =
00:08:48 verbose #15430 > > let v1 : bool = true
00:08:48 verbose #15431 > > let mutable _v1 : unit option = None
00:08:48 verbose #15432 > >
00:08:48 verbose #15433 > > #if FABLE_COMPILER || WASM || CONTRACT
00:08:48 verbose #15434 > >
00:08:48 verbose #15435 > > #if FABLE_COMPILER_RUST && !WASM && !CONTRACT...
00:08:48 verbose #15436 > >
00:08:48 verbose #15437 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:48 verbose #15438 > > #if FABLE_COMPILER
00:08:48 verbose #15439 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Error")>]]
00:08:48 verbose #15440 > > #endif
00:08:48 verbose #15441 > > type reqwest_Error = class end
00:08:48 verbose #15442 > > #if FABLE_COMPILER
00:08:48 verbose #15443 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::RequestBuilder")>]]
00:08:48 verbose #15444 > > #endif
00:08:48 verbose #15445 > > type reqwest_RequestBuilder = class end
00:08:48 verbose #15446 > > #if FABLE_COMPILER
00:08:48 verbose #15447 > > [[<Fable.Core.Erase; Fable.Core.Emit("reqwest_wasm::Response")>]]
00:08:48 verbose #15448 > > #endif
00:08:48 verbose #15449 > > type reqwest_Response = class end
00:08:48 verbose #15450 > > #if FABLE_COMPILER
00:08:48 verbose #15451 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>]]
00:08:48 verbose #15452 > > #endif
00:08:48 verbose #15453 > > type std_env_VarError = class end
00:08:48 verbose #15454 > > #if FABLE_COMPILER
00:08:48 verbose #15455 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:08:48 verbose #15456 > > #endif
00:08:48 verbose #15457 > > type core_any_Any = class end
00:08:48 verbose #15458 > > #if FABLE_COMPILER
00:08:48 verbose #15459 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:08:48 verbose #15460 > > #endif
00:08:48 verbose #15461 > > type core_ops_Try<'T> = class end
00:08:48 verbose #15462 > > #if FABLE_COMPILER
00:08:48 verbose #15463 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:08:48 verbose #15464 > > #endif
00:08:48 verbose #15465 > > type Func0<'T> = class end
00:08:48 verbose #15466 > > #if FABLE_COMPILER
00:08:48 verbose #15467 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:08:48 verbose #15468 > > #endif
00:08:48 verbose #15469 > > type Func0<'T, 'U> = class end
00:08:48 verbose #15470 > > #if FABLE_COMPILER
00:08:48 verbose #15471 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:08:48 verbose #15472 > > #endif
00:08:48 verbose #15473 > > type Box<'T> = class end
00:08:48 verbose #15474 > > #if FABLE_COMPILER
00:08:48 verbose #15475 > > [[<Fable.Core.Erase; Fable.Core.Emit("dyn $0")>]]
00:08:48 verbose #15476 > > #endif
00:08:48 verbose #15477 > > type Dyn<'T> = class end
00:08:48 verbose #15478 > > #if FABLE_COMPILER
00:08:48 verbose #15479 > > [[<Fable.Core.Erase; Fable.Core.Emit("Send")>]]
00:08:48 verbose #15480 > > #endif
00:08:48 verbose #15481 > > type Send<'T> = class end
00:08:48 verbose #15482 > > #if FABLE_COMPILER
00:08:48 verbose #15483 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn() -> $0")>]]
00:08:48 verbose #15484 > > #endif
00:08:48 verbose #15485 > > type Fn<'T> = class end
00:08:48 verbose #15486 > > #if FABLE_COMPILER
00:08:48 verbose #15487 > > [[<Fable.Core.Erase; Fable.Core.Emit("Fn()")>]]
00:08:48 verbose #15488 > > #endif
00:08:48 verbose #15489 > > type FnUnit = class end
00:08:48 verbose #15490 > > #if FABLE_COMPILER
00:08:48 verbose #15491 > > [[<Fable.Core.Erase; Fable.Core.Emit("FnOnce() -> $0")>]]
00:08:48 verbose #15492 > > #...
00:08:49 verbose #15493 > >
00:08:49 verbose #15494 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:49 verbose #15495 > > #if FABLE_COMPILER
00:08:49 verbose #15496 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Arg")>]]
00:08:49 verbose #15497 > > #endif
00:08:49 verbose #15498 > > type clap_Arg = class end
00:08:49 verbose #15499 > > #if FABLE_COMPILER
00:08:49 verbose #15500 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgAction")>]]
00:08:49 verbose #15501 > > #endif
00:08:49 verbose #15502 > > type clap_ArgAction = class end
00:08:49 verbose #15503 > > #if FABLE_COMPILER
00:08:49 verbose #15504 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::Command")>]]
00:08:49 verbose #15505 > > #endif
00:08:49 verbose #15506 > > type clap_Command = class end
00:08:49 verbose #15507 > > #if FABLE_COMPILER
00:08:49 verbose #15508 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::ArgMatches")>]]
00:08:49 verbose #15509 > > #endif
00:08:49 verbose #15510 > > type clap_ArgMatches = class end
00:08:49 verbose #15511 > > #if FABLE_COMPILER
00:08:49 verbose #15512 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueRange")>]]
00:08:49 verbose #15513 > > #endif
00:08:49 verbose #15514 > > type clap_builder_ValueRange = class end
00:08:49 verbose #15515 > > #if FABLE_COMPILER
00:08:49 verbose #15516 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::ValueParser")>]]
00:08:49 verbose #15517 > > #endif
00:08:49 verbose #15518 > > type clap_builder_ValueParser = class end
00:08:49 verbose #15519 > > #if FABLE_COMPILER
00:08:49 verbose #15520 > > [[<Fable.Core.Erase; Fable.Core.Emit("clap::builder::PossibleValue")>]]
00:08:49 verbose #15521 > > #endif
00:08:49 verbose #15522 > > type clap_builder_PossibleValue = class end
00:08:49 verbose #15523 > > #if FABLE_COMPILER
00:08:49 verbose #15524 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Child")>]]
00:08:49 verbose #15525 > > #endif
00:08:49 verbose #15526 > > type std_process_Child = class end
00:08:49 verbose #15527 > > #if FABLE_COMPILER
00:08:49 verbose #15528 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStderr")>]]
00:08:49 verbose #15529 > > #endif
00:08:49 verbose #15530 > > type std_process_ChildStderr = class end
00:08:49 verbose #15531 > > #if FABLE_COMPILER
00:08:49 verbose #15532 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdout")>]]
00:08:49 verbose #15533 > > #endif
00:08:49 verbose #15534 > > type std_process_ChildStdout = class end
00:08:49 verbose #15535 > > #if FABLE_COMPILER
00:08:49 verbose #15536 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::ChildStdin")>]]
00:08:49 verbose #15537 > > #endif
00:08:49 verbose #15538 > > type std_process_ChildStdin = class end
00:08:49 verbose #15539 > > #if FABLE_COMPILER
00:08:49 verbose #15540 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::process::Command")>]]
00:08:49 verbose #15541 > > #endif
00:08:49 verbose #15542 > > type std_process_Command = class ...
00:08:50 verbose #15543 > >
00:08:50 verbose #15544 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:50 verbose #15545 > > #if FABLE_COMPILER
00:08:50 verbose #15546 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]]
00:08:50 verbose #15547 > > #endif
00:08:50 verbose #15548 > > type std_fs_File = class end
00:08:50 verbose #15549 > > #if FABLE_COMPILER
00:08:50 verbose #15550 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]]
00:08:50 verbose #15551 > > #endif
00:08:50 verbose #15552 > > type std_fs_FileType = class end
00:08:50 verbose #15553 > > #if FABLE_COMPILER
00:08:50 verbose #15554 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Display")>]]
00:08:50 verbose #15555 > > #endif
00:08:50 verbose #15556 > > type std_path_Display = class end
00:08:50 verbose #15557 > > #if FABLE_COMPILER
00:08:50 verbose #15558 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::Path")>]]
00:08:50 verbose #15559 > > #endif
00:08:50 verbose #15560 > > type std_path_Path = class end
00:08:50 verbose #15561 > > #if FABLE_COMPILER
00:08:50 verbose #15562 > > [[<Fable.Core.Erase; Fable.Core.Emit("std::path::PathBuf")>]]
00:08:50 verbose #15563 > > #endif
00:08:50 verbose #15564 > > type std_path_PathBuf = class end
00:08:50 verbose #15565 > > #if FABLE_COMPILER
00:08:50 verbose #15566 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::DirEntry")>]]
00:08:50 verbose #15567 > > #endif
00:08:50 verbose #15568 > > type async_walkdir_DirEntry = class end
00:08:50 verbose #15569 > > #if FABLE_COMPILER
00:08:50 verbose #15570 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::Filtering")>]]
00:08:50 verbose #15571 > > #endif
00:08:50 verbose #15572 > > type async_walkdir_Filtering = class end
00:08:50 verbose #15573 > > #if FABLE_COMPILER
00:08:50 verbose #15574 > > [[<Fable.Core.Erase; Fable.Core.Emit("async_walkdir::WalkDir")>]]
00:08:50 verbose #15575 > > #endif
00:08:50 verbose #15576 > > type async_walkdir_WalkDir = class end
00:08:50 verbose #15577 > > #if FABLE_COMPILER
00:08:50 verbose #15578 > > [[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]]
00:08:50 verbose #15579 > > #endif
00:08:50 verbose #15580 > > type core_any_Any = class end
00:08:50 verbose #15581 > > #if FABLE_COMPILER
00:08:50 verbose #15582 > > [[<Fable.Core.Erase; Fable.Core.Emit("_")>]]
00:08:50 verbose #15583 > > #endif
00:08:50 verbose #15584 > > type core_ops_Try<'T> = class end
00:08:50 verbose #15585 > > #if FABLE_COMPILER
00:08:50 verbose #15586 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func0<$0>")>]]
00:08:50 verbose #15587 > > #endif
00:08:50 verbose #15588 > > type Func0<'T> = class end
00:08:50 verbose #15589 > > #if FABLE_COMPILER
00:08:50 verbose #15590 > > [[<Fable.Core.Erase; Fable.Core.Emit("Func1<$0, $1>")>]]
00:08:50 verbose #15591 > > #endif
00:08:50 verbose #15592 > > type Func0<'T, 'U> = class end
00:08:50 verbose #15593 > > #if FABLE_COMPILER
00:08:50 verbose #15594 > > [[<Fable.Core.Erase; Fable.Core.Emit("Box<$0>")>]]
00:08:50 verbose #15595 > > #endif
00:08:50 verbose #15596 > > type Box<'T> = clas...
00:08:52 verbose #15597 > >
00:08:52 verbose #15598 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:52 verbose #15599 > > module SpiralTrace =
00:08:52 verbose #15600 > > let trace x =
00:08:52 verbose #15601 > > #if !INTERACTIVE
00:08:52 verbose #15602 > > Trace.trace x
00:08:52 verbose #15603 > > #else
00:08:52 verbose #15604 > > trace x
00:08:52 verbose #15605 > > #endif
00:08:52 verbose #15606 > >
00:08:52 verbose #15607 > > type TraceLevel =
00:08:52 verbose #15608 > > #if !INTERACTIVE
00:08:52 verbose #15609 > > Trace.US0
00:08:52 verbose #15610 > > #else
00:08:52 verbose #15611 > > US0
00:08:52 verbose #15612 > > #endif
00:08:52 verbose #15613 > >
00:08:52 verbose #15614 > > module SpiralCrypto =
00:08:52 verbose #15615 > > let hash_text x =
00:08:52 verbose #15616 > > #if !INTERACTIVE
00:08:52 verbose #15617 > > Crypto.hash_text x
00:08:52 verbose #15618 > > #else
00:08:52 verbose #15619 > > hash_text x
00:08:52 verbose #15620 > > #endif
00:08:52 verbose #15621 > >
00:08:52 verbose #15622 > > #if !FABLE_COMPILER && !WASM && !CONTRACT
00:08:52 verbose #15623 > >
00:08:52 verbose #15624 > > module SpiralAsync =
00:08:52 verbose #15625 > > let merge_cancellation_token_with_default_async x =
00:08:52 verbose #15626 > > #if !INTERACTIVE
00:08:52 verbose #15627 > > Async_.merge_cancellation_token_with_default_async x
00:08:52 verbose #15628 > > #else
00:08:52 verbose #15629 > > merge_cancellation_token_with_default_async x
00:08:52 verbose #15630 > > #endif
00:08:52 verbose #15631 > >
00:08:52 verbose #15632 > > module SpiralThreading =
00:08:52 verbose #15633 > > let new_disposable_token x =
00:08:52 verbose #15634 > > #if !INTERACTIVE
00:08:52 verbose #15635 > > Threading.new_disposable_token x
00:08:52 verbose #15636 > > #else
00:08:52 verbose #15637 > > new_disposable_token x
00:08:52 verbose #15638 > > #endif
00:08:52 verbose #15639 > >
00:08:52 verbose #15640 > > module SpiralNetworking =
00:08:52 verbose #15641 > > let test_port_open x =
00:08:52 verbose #15642 > > #if !INTERACTIVE
00:08:52 verbose #15643 > > Networking.test_port_open x
00:08:52 verbose #15644 > > #else
00:08:52 verbose #15645 > > test_port_open x
00:08:52 verbose #15646 > > #endif
00:08:52 verbose #15647 > >
00:08:52 verbose #15648 > > let test_port_open_timeout x =
00:08:52 verbose #15649 > > #if !INTERACTIVE
00:08:52 verbose #15650 > > Networking.test_port_open_timeout x
00:08:52 verbose #15651 > > #else
00:08:52 verbose #15652 > > test_port_open_timeout x
00:08:52 verbose #15653 > > #endif
00:08:52 verbose #15654 > >
00:08:52 verbose #15655 > > let wait_for_port_access x =
00:08:52 verbose #15656 > > #if !INTERACTIVE
00:08:52 verbose #15657 > > Networking.wait_for_port_access x
00:08:52 verbose #15658 > > #else
00:08:52 verbose #15659 > > wait_for_port_access x
00:08:52 verbose #15660 > > #endif
00:08:52 verbose #15661 > >
00:08:52 verbose #15662 > > let get_available_port x =
00:08:52 verbose #15663 > > #if !INTERACTIVE
00:08:52 verbose #15664 > > Networking.get_available_port x
00:08:52 verbose #15665 > > #else
00:08:52 verbose #15666 > > get_available_port x
00:08:52 verbose #15667 > > #endif
00:08:52 verbose #15668 > >
00:08:52 verbose #15669 > > module SpiralRuntime =
00:08:52 verbose #15670 > > let get_executable_suffix () =
00:08:52 verbose #15671 > > #if !INTERACTIVE
00:08:52 verbose #15672 > > Runtime.get_executable_suffix ()
00:08:52 verbose #15673 > > #else
00:08:52 verbose #15674 > > get_executable_suffix ()
00:08:52 verbose #15675 > > #endif
00:08:52 verbose #15676 > >
00:08:52 verbose #15677 > > let is_windows () =
00:08:52 verbose #15678 > > #if !INTERACTIVE
00:08:52 verbose #15679 > > ...
00:08:52 verbose #15680 > >
00:08:52 verbose #15681 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:52 verbose #15682 > > #if !INTERACTIVE
00:08:52 verbose #15683 > > namespace Polyglot
00:08:52 verbose #15684 > > #endif
00:08:52 verbose #15685 > >
00:08:52 verbose #15686 > > module Common =
00:08:52 verbose #15687 > >
00:08:52 verbose #15688 > > #if !INTERACTIVE
00:08:52 verbose #15689 > > open Lib
00:08:52 verbose #15690 > > #endif
00:08:52 verbose #15691 > >
00:08:52 verbose #15692 > > let nl = System.Environment.NewLine
00:08:52 verbose #15693 > > let q = @""""
00:08:52 verbose #15694 > >
00:08:52 verbose #15695 > > let inline cons head tail = head :: tail
00:08:52 verbose #15696 > >
00:08:52 verbose #15697 > > /// ## memoize
00:08:52 verbose #15698 > > let inline memoize fn =
00:08:52 verbose #15699 > > let result = lazy fn ()
00:08:52 verbose #15700 > > fun () -> result.Value
00:08:52 verbose #15701 > >
00:08:52 verbose #15702 > > /// ## TraceLevel
00:08:52 verbose #15703 > > type TraceLevel =
00:08:52 verbose #15704 > > | Verbose
00:08:52 verbose #15705 > > | Debug
00:08:52 verbose #15706 > > | Info
00:08:52 verbose #15707 > > | Warning
00:08:52 verbose #15708 > > | Critical
00:08:52 verbose #15709 > >
00:08:52 verbose #15710 > > let inline _locals () = ""
00:08:52 verbose #15711 > >
00:08:52 verbose #15712 > > /// ## trace
00:08:52 verbose #15713 > > let to_trace_level = function
00:08:52 verbose #15714 > > | Verbose -> SpiralTrace.TraceLevel.US0_0
00:08:52 verbose #15715 > > | Debug -> SpiralTrace.TraceLevel.US0_1
00:08:52 verbose #15716 > > | Info -> SpiralTrace.TraceLevel.US0_2
00:08:52 verbose #15717 > > | Warning -> SpiralTrace.TraceLevel.US0_3
00:08:52 verbose #15718 > > | Critical -> SpiralTrace.TraceLevel.US0_4
00:08:52 verbose #15719 > >
00:08:52 verbose #15720 > > let trace level fn locals =
00:08:52 verbose #15721 > > let level = level |> to_trace_level
00:08:52 verbose #15722 > > SpiralTrace.trace level fn locals
00:08:52 verbose #15723 > >
00:08:52 verbose #15724 > >
00:08:52 verbose #15725 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:52 verbose #15726 > > #if !INTERACTIVE
00:08:52 verbose #15727 > > namespace Polyglot
00:08:52 verbose #15728 > > #endif
00:08:52 verbose #15729 > >
00:08:52 verbose #15730 > > module CommonFSharp =
00:08:52 verbose #15731 > >
00:08:52 verbose #15732 > > open Common
00:08:52 verbose #15733 > >
00:08:52 verbose #15734 > > /// ## getUnionCaseName
00:08:52 verbose #15735 > > let inline getUnionCaseName<'T> (x: 'T) =
00:08:52 verbose #15736 > > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
00:08:52 verbose #15737 > > | case, _ -> case.Name
00:08:52 verbose #15738 > >
00:08:52 verbose #15739 > >
00:08:52 verbose #15740 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:52 verbose #15741 > > #if !INTERACTIVE
00:08:52 verbose #15742 > > namespace Polyglot
00:08:52 verbose #15743 > > #endif
00:08:52 verbose #15744 > >
00:08:52 verbose #15745 > > module Async =
00:08:52 verbose #15746 > >
00:08:52 verbose #15747 > > #if !INTERACTIVE
00:08:52 verbose #15748 > > open Lib
00:08:52 verbose #15749 > > #endif
00:08:52 verbose #15750 > >
00:08:52 verbose #15751 > > open Common
00:08:52 verbose #15752 > >
00:08:52 verbose #15753 > > /// ## choice
00:08:52 verbose #15754 > > let inline choice asyncs = async {
00:08:52 verbose #15755 > > let e = Event<_> ()
00:08:52 verbose #15756 > > use cts = new System.Threading.CancellationTokenSource ()
00:08:52 verbose #15757 > > let fn =
00:08:52 verbose #15758 > > asyncs
00:08:52 verbose #15759 > > |> Seq.map (fun a -> async {
00:08:52 verbose #15760 > > let! x = a
00:08:52 verbose #15761 > > e.Trigger x
00:08:52 verbose #15762 > > })
00:08:52 verbose #15763 > > |> Async.Parallel
00:08:52 verbose #15764 > > |> Async.Ignore
00:08:52 verbose #15765 > > Async.Start (fn, cts.Token)
00:08:52 verbose #15766 > > let! result = Async.AwaitEvent e.Publish
00:08:52 verbose #15767 > > cts.Cancel ()
00:08:52 verbose #15768 > > return result
00:08:52 verbose #15769 > > }
00:08:52 verbose #15770 > >
00:08:52 verbose #15771 > > /// ## map
00:08:52 verbose #15772 > > let inline map fn a = async {
00:08:52 verbose #15773 > > let! x = a
00:08:52 verbose #15774 > > return fn x
00:08:52 verbose #15775 > > }
00:08:52 verbose #15776 > >
00:08:52 verbose #15777 > > /// ## catch
00:08:52 verbose #15778 > > let inline catch a =
00:08:52 verbose #15779 > > a
00:08:52 verbose #15780 > > |> Async.Catch
00:08:52 verbose #15781 > > |> map (function
00:08:52 verbose #15782 > > | Choice1Of2 result -> Ok result
00:08:52 verbose #15783 > > | Choice2Of2 ex -> Error ex
00:08:52 verbose #15784 > > )
00:08:52 verbose #15785 > >
00:08:52 verbose #15786 > > /// ## runWithTimeoutChoiceAsync
00:08:52 verbose #15787 > > let inline runWithTimeoutChoiceAsync (timeout : int) fn =
00:08:52 verbose #15788 > > let _locals () = $"timeout: {timeout} / {_locals ()}"
00:08:52 verbose #15789 > >
00:08:52 verbose #15790 > > let timeoutTask = async {
00:08:52 verbose #15791 > > do! Async.Sleep timeout
00:08:52 verbose #15792 > > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals
00:08:52 verbose #15793 > > return None
00:08:52 verbose #15794 > > }
00:08:52 verbose #15795 > >
00:08:52 verbose #15796 > > let task = async {
00:08:52 verbose #15797 > > try
00:08:52 verbose #15798 > > let! result = fn
00:08:52 verbose #15799 > > return Some result
00:08:52 verbose #15800 > > with
00:08:52 verbose #15801 > > | :? System.AggregateException as ex when
00:08:52 verbose #15802 > > ex.InnerExceptions
00:08:52 verbose #15803 > > |> Seq.exists (function :? Sys...
00:08:53 verbose #15804 > >
00:08:53 verbose #15805 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:53 verbose #15806 > > #if !INTERACTIVE
00:08:53 verbose #15807 > > namespace Polyglot
00:08:53 verbose #15808 > > #endif
00:08:53 verbose #15809 > >
00:08:53 verbose #15810 > > module AsyncSeq =
00:08:53 verbose #15811 > >
00:08:53 verbose #15812 > > #if !INTERACTIVE
00:08:53 verbose #15813 > > open Lib
00:08:53 verbose #15814 > > #endif
00:08:53 verbose #15815 > >
00:08:53 verbose #15816 > > open Common
00:08:53 verbose #15817 > >
00:08:53 verbose #15818 > > /// ## subscribeEvent
00:08:53 verbose #15819 > > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
00:08:53 verbose #15820 > > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
00:08:53 verbose #15821 > > 'A>(event.AddHandler, event.RemoveHandler)
00:08:53 verbose #15822 > > System.Reactive.Linq.Observable.Select (observable, fun event -> map
00:08:53 verbose #15823 > > event.EventArgs)
00:08:53 verbose #15824 > > |> FSharp.Control.AsyncSeq.ofObservableBuffered
00:08:53 verbose #15825 > >
00:08:53 verbose #15826 > > /// ## subscribeToken
00:08:53 verbose #15827 > > let subscribeToken (token : System.Threading.CancellationToken) =
00:08:53 verbose #15828 > > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
00:08:53 verbose #15829 > > System.Action tcs.SetResult |> token.Register |> ignore
00:08:53 verbose #15830 > > let start = System.DateTime.Now.Ticks
00:08:53 verbose #15831 > > FSharp.Control.AsyncSeq.unfoldAsync
00:08:53 verbose #15832 > > (fun () -> async {
00:08:53 verbose #15833 > > do! tcs.Task |> Async.AwaitTask
00:08:53 verbose #15834 > > return Some (System.DateTime.Now.Ticks - start, ())
00:08:53 verbose #15835 > > })
00:08:53 verbose #15836 > > ()
00:08:53 verbose #15837 > >
00:08:53 verbose #15838 > >
00:08:53 verbose #15839 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:53 verbose #15840 > > #if !INTERACTIVE
00:08:53 verbose #15841 > > namespace Polyglot
00:08:53 verbose #15842 > > #endif
00:08:53 verbose #15843 > >
00:08:53 verbose #15844 > > module Runtime =
00:08:53 verbose #15845 > >
00:08:53 verbose #15846 > > #if !INTERACTIVE
00:08:53 verbose #15847 > > open Lib
00:08:53 verbose #15848 > > #endif
00:08:53 verbose #15849 > >
00:08:53 verbose #15850 > > open Common
00:08:53 verbose #15851 > >
00:08:53 verbose #15852 > > /// ## parseArgs
00:08:53 verbose #15853 > > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:08:53 verbose #15854 > > let assemblyName =
00:08:53 verbose #15855 > > System.Reflection.Assembly.GetEntryAssembly().GetName().Name
00:08:53 verbose #15856 > > let errorHandler : Argu.IExiter =
00:08:53 verbose #15857 > > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |>
00:08:53 verbose #15858 > > List.contains assemblyName
00:08:53 verbose #15859 > > then Argu.ExceptionExiter ()
00:08:53 verbose #15860 > > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None |
00:08:53 verbose #15861 > > _ -> Some System.ConsoleColor.Red)
00:08:53 verbose #15862 > >
00:08:53 verbose #15863 > > let parser =
00:08:53 verbose #15864 > > Argu.ArgumentParser.Create<'T> (
00:08:53 verbose #15865 > > programName =
00:08:53 verbose #15866 > > $"{assemblyName}{SpiralRuntime.get_executable_suffix ()}",
00:08:53 verbose #15867 > > errorHandler = errorHandler
00:08:53 verbose #15868 > > )
00:08:53 verbose #15869 > >
00:08:53 verbose #15870 > > parser.ParseCommandLine args
00:08:53 verbose #15871 > >
00:08:53 verbose #15872 > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =
00:08:53 verbose #15873 > > args
00:08:53 verbose #15874 > > |> parseArgs<'T>
00:08:53 verbose #15875 > > |> fun results -> results.GetAllResults ()
00:08:53 verbose #15876 > >
00:08:53 verbose #15877 > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =
00:08:53 verbose #15878 > > args
00:08:53 verbose #15879 > > |> parseAllArgs<'T>
00:08:53 verbose #15880 > > |> List.groupBy CommonFSharp.getUnionCaseName<'T>
00:08:53 verbose #15881 > > |> Map.ofList
00:08:53 verbose #15882 > >
00:08:53 verbose #15883 > >
00:08:53 verbose #15884 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:53 verbose #15885 > > #if !INTERACTIVE
00:08:53 verbose #15886 > > namespace Polyglot
00:08:53 verbose #15887 > > #endif
00:08:53 verbose #15888 > >
00:08:53 verbose #15889 > > module FileSystem =
00:08:53 verbose #15890 > >
00:08:53 verbose #15891 > > #if !INTERACTIVE
00:08:53 verbose #15892 > > open Lib
00:08:53 verbose #15893 > > #endif
00:08:53 verbose #15894 > >
00:08:53 verbose #15895 > > open Common
00:08:53 verbose #15896 > > open SpiralFileSystem.Operators
00:08:53 verbose #15897 > >
00:08:53 verbose #15898 > > /// ## watchDirectory
00:08:53 verbose #15899 > > [[<RequireQualifiedAccess>]]
00:08:53 verbose #15900 > > type FileSystemChangeType =
00:08:53 verbose #15901 > > | Failure
00:08:53 verbose #15902 > > | Changed
00:08:53 verbose #15903 > > | Created
00:08:53 verbose #15904 > > | Deleted
00:08:53 verbose #15905 > > | Renamed
00:08:53 verbose #15906 > >
00:08:53 verbose #15907 > > [[<RequireQualifiedAccess>]]
00:08:53 verbose #15908 > > type FileSystemChange =
00:08:53 verbose #15909 > > | Failure of exn: exn
00:08:53 verbose #15910 > > | Changed of path: string * content: string option
00:08:53 verbose #15911 > > | Created of path: string * content: string option
00:08:53 verbose #15912 > > | Deleted of path: string
00:08:53 verbose #15913 > > | Renamed of oldPath: string * (string * string option)
00:08:53 verbose #15914 > >
00:08:53 verbose #15915 > >
00:08:53 verbose #15916 > > let inline watchDirectoryWithFilter filter shouldReadContent path =
00:08:53 verbose #15917 > > let fullPath = path |> System.IO.Path.GetFullPath
00:08:53 verbose #15918 > > let _locals () = $"filter: {filter} / {_locals ()}"
00:08:53 verbose #15919 > >
00:08:53 verbose #15920 > > let watcher =
00:08:53 verbose #15921 > > new System.IO.FileSystemWatcher (
00:08:53 verbose #15922 > > Path = fullPath,
00:08:53 verbose #15923 > > NotifyFilter = filter,
00:08:53 verbose #15924 > > EnableRaisingEvents = true,
00:08:53 verbose #15925 > > IncludeSubdirectories = true
00:08:53 verbose #15926 > > )
00:08:53 verbose #15927 > >
00:08:53 verbose #15928 > > let inline getEventPath (path : string) =
00:08:53 verbose #15929 > > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |>
00:08:53 verbose #15930 > > SpiralSm.trim_start [[| '/'; '\\' |]]
00:08:53 verbose #15931 > >
00:08:53 verbose #15932 > > let inline ticks () =
00:08:53 verbose #15933 > > System.DateTime.UtcNow.Ticks
00:08:53 verbose #15934 > >
00:08:53 verbose #15935 > > let changedStream =
00:08:53 verbose #15936 > > AsyncSeq.subscribeEvent
00:08:53 verbose #15937 > > watcher.Changed
00:08:53 verbose #15938 > > (fun event ->
00:08:53 verbose #15939 > > ticks (),
00:08:53 verbose #15940 > > [[ FileSystemChange...
00:08:53 verbose #15941 > >
00:08:53 verbose #15942 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:53 verbose #15943 > > #if !INTERACTIVE
00:08:53 verbose #15944 > > open Lib
00:08:53 verbose #15945 > > #endif
00:08:53 verbose #15946 > >
00:08:53 verbose #15947 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:53 verbose #15948 > > open Common
00:08:53 verbose #15949 > > open SpiralFileSystem.Operators
00:08:53 verbose #15950 > >
00:08:53 verbose #15951 > > ── fsharp - import ─────────────────────────────────────────────────────────────
00:08:53 verbose #15952 > > let workspaceRoot = SpiralFileSystem.get_workspace_root ()
00:08:53 verbose #15953 > > let tmpSpiralPath = workspaceRoot </> "target/polyglot/plotting"
00:08:53 verbose #15954 > > let linePlotsDataPath = tmpSpiralPath </> "line_data"
00:08:53 verbose #15955 > > let linePlotsSvgPath = tmpSpiralPath </> "line_svg"
00:08:53 verbose #15956 > >
00:08:53 verbose #15957 > > [[ tmpSpiralPath; linePlotsDataPath; linePlotsSvgPath ]]
00:08:53 verbose #15958 > > |> List.iter (fun dir -> if Directory.Exists dir |> not then
00:08:53 verbose #15959 > > Directory.CreateDirectory dir |> ignore)
00:08:53 verbose #15960 > >
00:08:53 verbose #15961 > > Formatter.Register<struct (string * string * string * struct (string * float
00:08:53 verbose #15962 > > array * float array) array)> (
00:08:53 verbose #15963 > > (fun struct (caption, x_desc, y_desc, ys) ->
00:08:53 verbose #15964 > > let json = (caption, x_desc, y_desc, ys) |> FSharp.Json.Json.serialize
00:08:53 verbose #15965 > > async {
00:08:53 verbose #15966 > > let hashHex = json |> SpiralCrypto.hash_text
00:08:53 verbose #15967 > > let svgPath = linePlotsSvgPath </> $"{hashHex}.svg"
00:08:53 verbose #15968 > >
00:08:53 verbose #15969 > > if System.IO.File.Exists svgPath |> not then
00:08:53 verbose #15970 > > do! json |> SpiralFileSystem.write_all_text_async
00:08:53 verbose #15971 > > $"{linePlotsDataPath </> hashHex}.json"
00:08:53 verbose #15972 > >
00:08:53 verbose #15973 > > let ct =
00:08:53 verbose #15974 > > Microsoft.DotNet.Interactive.KernelInvocationContext.Current.CancellationToken
00:08:53 verbose #15975 > >
00:08:53 verbose #15976 > > let oldLevel = get_trace_level ()
00:08:53 verbose #15977 > > SpiralTrace.TraceLevel.US0_2
00:08:53 verbose #15978 > > |> set_trace_level
00:08:53 verbose #15979 > > use _ = (new_disposable (fun () ->
00:08:53 verbose #15980 > > oldLevel |> set_trace_level
00:08:53 verbose #15981 > > ))
00:08:53 verbose #15982 > >
00:08:53 verbose #15983 > > let plotExePath = workspaceRoot </>
00:08:53 verbose #15984 > > $"workspace/target/release/plot{SpiralRuntime.get_executable_suffix ()}"
00:08:53 verbose #15985 > > let! exitCode, result =
00:08:53 verbose #15986 > > SpiralRuntime.execution_options (f...
00:08:54 verbose #15987 > >
00:08:54 verbose #15988 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:54 verbose #15989 > > //// test
00:08:54 verbose #15990 > >
00:08:54 verbose #15991 > > open testing
00:08:54 verbose #15992 > >
00:08:54 verbose #15993 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:08:54 verbose #15994 > > #r
00:08:54 verbose #15995 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:54 verbose #15996 > > Net.Interactive.Spiral.dll"
00:08:54 verbose #15997 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:08:54 verbose #15998 > > #r
00:08:54 verbose #15999 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:08:54 verbose #16000 > > Net.Interactive.dll"
00:08:54 verbose #16001 > > open type Microsoft.DotNet.Interactive.Kernel
00:08:55 verbose #16002 > >
00:08:55 verbose #16003 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:55 verbose #16004 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:55 verbose #16005 > > │ ## init_series │
00:08:55 verbose #16006 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16007 > >
00:08:55 verbose #16008 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:55 verbose #16009 > > //// test
00:08:55 verbose #16010 > >
00:08:55 verbose #16011 > > inl x : a _ f64 = am'.init_series -3 3 0.01
00:08:55 verbose #16012 > > inl y = x |> am.map math.square
00:08:55 verbose #16013 > > "square", "x", "y", ;[[ "square", x, y ]]
00:08:55 verbose #16014 > 00:08:54 debug #805 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9a169c49d2342c32f3a36473286c063ea3093dec4a63c87778c88df6d26ec35e/main.spi
00:08:55 verbose #16015 > >
00:08:55 verbose #16016 > > ╭─[ 546.71ms - return value ]──────────────────────────────────────────────────╮
00:08:55 verbose #16017 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:55 verbose #16018 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:55 verbose #16019 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:55 verbose #16020 > > │ stroke="none"/> │
00:08:55 verbose #16021 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:55 verbose #16022 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:55 verbose #16023 > > │ fill="#FFFFFF"> │
00:08:55 verbose #16024 > > │ square │
00:08:55 verbose #16025 > > │ </text> │
00:08:55 verbose #16026 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:08:55 verbose #16027 > > │ y2="75"/> │
00:08:55 verbose #16028 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:55 verbose #16029 > > │ y2="75"/> │
00:08:55 verbose #16030 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:08:55 verbose #16031 > > │ y2="75"/> │
00:08:55 verbose #16032 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:08:55 verbose #16033 > > │ y2="75"/> │
00:08:55 verbose #16034 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:08:55 verbose #16035 > > │ y2="75"/> │
00:08:55 verbose #16036 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
00:08:55 verbose #16037 > > │ x2="103" y2="75"/> │
00:08:55 verbose #16038 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
00:08:55 verbose #16039 > > │ x2="111" y2="75"/> │
00:08:55 verbose #16040 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:55 verbose #16041 > > │ x2="119" y2="75"/> │
00:08:55 verbose #16042 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
00:08:55 verbose #16043 > > │ x2="128" y2="75"/> │
00:08:55 verbose #16044 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
00:08:55 verbose #16045 > > │ x2="136" y2="75"/> │
00:08:55 verbose #16046 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
00:08:55 verbose #16047 > > │ x2="144" y2="75"/> │
00:08:55 verbose #16048 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
00:08:55 verbose #16049 > > │ x2="153" y2="75"/> │
00:08:55 verbose #16050 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
00:08:55 verbose #16051 > > │ x2="161" y2="75"/> │
00:08:55 verbose #16052 > > │ <line opacity="1" stroke="#3... │
00:08:55 verbose #16053 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16054 > >
00:08:55 verbose #16055 > > ╭─[ 551.71ms - stdout ]────────────────────────────────────────────────────────╮
00:08:55 verbose #16056 > > │ 00:00:04 debug #1 execute_with_options_async / options: struct (Some │
00:08:55 verbose #16057 > > │ System.Threading.CancellationToken, │
00:08:55 verbose #16058 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:55 verbose #16059 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:55 verbose #16060 > > │ 00:00:04 verbose #2 > Creating │
00:08:55 verbose #16061 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/7b7fc4 │
00:08:55 verbose #16062 > > │ c35397bb203cd73e71999e798459034face642d83ec40fb90a61bec926.svg │
00:08:55 verbose #16063 > > │ 00:00:04 debug #3 execute_with_options_async / exit_code: 0 / │
00:08:55 verbose #16064 > > │ output.Length: 147 │
00:08:55 verbose #16065 > > │ │
00:08:55 verbose #16066 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16067 > >
00:08:55 verbose #16068 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:55 verbose #16069 > > //// test
00:08:55 verbose #16070 > >
00:08:55 verbose #16071 > > inl x : a _ f64 = am'.init_series -10 10 0.1
00:08:55 verbose #16072 > > inl y_sin = x |> am.map sin
00:08:55 verbose #16073 > > inl y_cos = x |> am.map cos
00:08:55 verbose #16074 > > "sin cos", "x", "y", ;[[ "sin", x, y_sin; "cos", x, y_cos ]]
00:08:55 verbose #16075 > 00:08:55 debug #806 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/008d4890315995571de0ce1d4914d10f8007c0a84de308bd94052b01192cd516/main.spi
00:08:55 verbose #16076 > >
00:08:55 verbose #16077 > > ╭─[ 115.96ms - return value ]──────────────────────────────────────────────────╮
00:08:55 verbose #16078 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:55 verbose #16079 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:55 verbose #16080 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:55 verbose #16081 > > │ stroke="none"/> │
00:08:55 verbose #16082 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:55 verbose #16083 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:55 verbose #16084 > > │ fill="#FFFFFF"> │
00:08:55 verbose #16085 > > │ sin cos │
00:08:55 verbose #16086 > > │ </text> │
00:08:55 verbose #16087 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
00:08:55 verbose #16088 > > │ y2="75"/> │
00:08:55 verbose #16089 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:55 verbose #16090 > > │ y2="75"/> │
00:08:55 verbose #16091 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
00:08:55 verbose #16092 > > │ y2="75"/> │
00:08:55 verbose #16093 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:08:55 verbose #16094 > > │ y2="75"/> │
00:08:55 verbose #16095 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │
00:08:55 verbose #16096 > > │ x2="107" y2="75"/> │
00:08:55 verbose #16097 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:55 verbose #16098 > > │ x2="119" y2="75"/> │
00:08:55 verbose #16099 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424" │
00:08:55 verbose #16100 > > │ x2="132" y2="75"/> │
00:08:55 verbose #16101 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
00:08:55 verbose #16102 > > │ x2="144" y2="75"/> │
00:08:55 verbose #16103 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424" │
00:08:55 verbose #16104 > > │ x2="157" y2="75"/> │
00:08:55 verbose #16105 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:08:55 verbose #16106 > > │ x2="169" y2="75"/> │
00:08:55 verbose #16107 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424" │
00:08:55 verbose #16108 > > │ x2="182" y2="75"/> │
00:08:55 verbose #16109 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
00:08:55 verbose #16110 > > │ x2="194" y2="75"/> │
00:08:55 verbose #16111 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424" │
00:08:55 verbose #16112 > > │ x2="207" y2="75"/> │
00:08:55 verbose #16113 > > │ <line opacity="1" stroke=... │
00:08:55 verbose #16114 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16115 > >
00:08:55 verbose #16116 > > ╭─[ 118.89ms - stdout ]────────────────────────────────────────────────────────╮
00:08:55 verbose #16117 > > │ 00:00:04 debug #4 execute_with_options_async / options: struct (Some │
00:08:55 verbose #16118 > > │ System.Threading.CancellationToken, │
00:08:55 verbose #16119 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:55 verbose #16120 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:55 verbose #16121 > > │ 00:00:04 verbose #5 > Creating │
00:08:55 verbose #16122 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/929230 │
00:08:55 verbose #16123 > > │ 48c2357a589255fc3a1ba8375e45c2d4a0a29d12fd266f7c935f7a46fa.svg │
00:08:55 verbose #16124 > > │ 00:00:04 debug #6 execute_with_options_async / exit_code: 0 / │
00:08:55 verbose #16125 > > │ output.Length: 147 │
00:08:55 verbose #16126 > > │ │
00:08:55 verbose #16127 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16128 > >
00:08:55 verbose #16129 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:55 verbose #16130 > > //// test
00:08:55 verbose #16131 > >
00:08:55 verbose #16132 > > inl y_pos y0 vy0 ay t =
00:08:55 verbose #16133 > > y0 + vy0 * t + ay * (t |> math.square) / 2
00:08:55 verbose #16134 > >
00:08:55 verbose #16135 > > inl x : a _ f64 = am'.init_series 0 5 0.01
00:08:55 verbose #16136 > > inl y = x |> am.map (y_pos 0 20 -9.8)
00:08:55 verbose #16137 > > "projectile motion", "time (s)", "", ;[[ "height of projectile (m)", x, y ]]
00:08:55 verbose #16138 > 00:08:55 debug #807 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2db23e0a16ec8a984ce19bf1281e2cd5f4fa363d76852cfa1bf4484d0216491d/main.spi
00:08:55 verbose #16139 > >
00:08:55 verbose #16140 > > ╭─[ 117.10ms - return value ]──────────────────────────────────────────────────╮
00:08:55 verbose #16141 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:55 verbose #16142 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:55 verbose #16143 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:55 verbose #16144 > > │ stroke="none"/> │
00:08:55 verbose #16145 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:55 verbose #16146 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:55 verbose #16147 > > │ fill="#FFFFFF"> │
00:08:55 verbose #16148 > > │ projectile motion │
00:08:55 verbose #16149 > > │ </text> │
00:08:55 verbose #16150 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:08:55 verbose #16151 > > │ y2="75"/> │
00:08:55 verbose #16152 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:55 verbose #16153 > > │ y2="75"/> │
00:08:55 verbose #16154 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:08:55 verbose #16155 > > │ y2="75"/> │
00:08:55 verbose #16156 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:08:55 verbose #16157 > > │ y2="75"/> │
00:08:55 verbose #16158 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
00:08:55 verbose #16159 > > │ y2="75"/> │
00:08:55 verbose #16160 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
00:08:55 verbose #16161 > > │ x2="109" y2="75"/> │
00:08:55 verbose #16162 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:55 verbose #16163 > > │ x2="119" y2="75"/> │
00:08:55 verbose #16164 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:08:55 verbose #16165 > > │ x2="129" y2="75"/> │
00:08:55 verbose #16166 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:08:55 verbose #16167 > > │ x2="139" y2="75"/> │
00:08:55 verbose #16168 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
00:08:55 verbose #16169 > > │ x2="149" y2="75"/> │
00:08:55 verbose #16170 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
00:08:55 verbose #16171 > > │ x2="159" y2="75"/> │
00:08:55 verbose #16172 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:08:55 verbose #16173 > > │ x2="169" y2="75"/> │
00:08:55 verbose #16174 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
00:08:55 verbose #16175 > > │ x2="179" y2="75"/> │
00:08:55 verbose #16176 > > │ <line opacity="1"... │
00:08:55 verbose #16177 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16178 > >
00:08:55 verbose #16179 > > ╭─[ 119.87ms - stdout ]────────────────────────────────────────────────────────╮
00:08:55 verbose #16180 > > │ 00:00:05 debug #7 execute_with_options_async / options: struct (Some │
00:08:55 verbose #16181 > > │ System.Threading.CancellationToken, │
00:08:55 verbose #16182 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:55 verbose #16183 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:55 verbose #16184 > > │ 00:00:05 verbose #8 > Creating │
00:08:55 verbose #16185 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/9ba10a │
00:08:55 verbose #16186 > > │ e80d4645862b925ee46c6c11acaddaeeaef0ca08c6bf4f906b08df5b19.svg │
00:08:55 verbose #16187 > > │ 00:00:05 debug #9 execute_with_options_async / exit_code: 0 / │
00:08:55 verbose #16188 > > │ output.Length: 147 │
00:08:55 verbose #16189 > > │ │
00:08:55 verbose #16190 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16191 > >
00:08:55 verbose #16192 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:55 verbose #16193 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:55 verbose #16194 > > │ ## velocity_cf │
00:08:55 verbose #16195 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:55 verbose #16196 > >
00:08:55 verbose #16197 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:55 verbose #16198 > > type mass = f64
00:08:55 verbose #16199 > > type time = f64
00:08:55 verbose #16200 > > type position = f64
00:08:55 verbose #16201 > > type velocity = f64
00:08:55 verbose #16202 > > type force = f64
00:08:55 verbose #16203 > >
00:08:55 verbose #16204 > > type velocity_cf = mass -> velocity -> list force -> (time -> velocity)
00:08:55 verbose #16205 > >
00:08:55 verbose #16206 > > inl velocity_cf m v0 fs =
00:08:55 verbose #16207 > > inl f_net = fs |> listm'.sum
00:08:55 verbose #16208 > > inl a0 = f_net / m
00:08:55 verbose #16209 > > inl v t = v0 + a0 * t
00:08:55 verbose #16210 > > v
00:08:55 verbose #16211 > 00:08:55 debug #808 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/abdae2dc7b5650748e0d0dc6fcf8a8185bc913be8ab2fc53f4e5af05fe8c46af/main.spi
00:08:55 verbose #16212 > >
00:08:55 verbose #16213 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:55 verbose #16214 > > //// test
00:08:55 verbose #16215 > >
00:08:55 verbose #16216 > > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 0
00:08:55 verbose #16217 > > |> _assert_eq 0.6
00:08:55 verbose #16218 > >
00:08:55 verbose #16219 > > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 1
00:08:55 verbose #16220 > > |> _assert_eq 0.2
00:08:55 verbose #16221 > 00:08:55 debug #809 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b1fe166a3cedf8c0334ca21b257f275ed2c94142eaf4094aa6ea5610ab2875f5/main.spi
00:08:56 verbose #16222 > >
00:08:56 verbose #16223 > > ╭─[ 248.67ms - stdout ]────────────────────────────────────────────────────────╮
00:08:56 verbose #16224 > > │ assert_eq / actual: 0.6 / expected: 0.6 │
00:08:56 verbose #16225 > > │ assert_eq / actual: 0.2 / expected: 0.2 │
00:08:56 verbose #16226 > > │ │
00:08:56 verbose #16227 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16228 > >
00:08:56 verbose #16229 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16230 > > //// test
00:08:56 verbose #16231 > >
00:08:56 verbose #16232 > > inl x = am'.init_series 0 4 0.1
00:08:56 verbose #16233 > > inl y = x |> am.map (velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]])
00:08:56 verbose #16234 > > "car on an air track", "time (s)", "", ;[[ "velocity of car (m/s)", x, y ]]
00:08:56 verbose #16235 > 00:08:55 debug #810 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eb5e70da153b09b3a752733b736a33432dc991470a66df77be51d6e83ece2ee7/main.spi
00:08:56 verbose #16236 > >
00:08:56 verbose #16237 > > ╭─[ 105.79ms - return value ]──────────────────────────────────────────────────╮
00:08:56 verbose #16238 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:56 verbose #16239 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:56 verbose #16240 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:56 verbose #16241 > > │ stroke="none"/> │
00:08:56 verbose #16242 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:56 verbose #16243 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:56 verbose #16244 > > │ fill="#FFFFFF"> │
00:08:56 verbose #16245 > > │ car on an air track │
00:08:56 verbose #16246 > > │ </text> │
00:08:56 verbose #16247 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
00:08:56 verbose #16248 > > │ y2="75"/> │
00:08:56 verbose #16249 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:56 verbose #16250 > > │ y2="75"/> │
00:08:56 verbose #16251 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
00:08:56 verbose #16252 > > │ y2="75"/> │
00:08:56 verbose #16253 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:08:56 verbose #16254 > > │ y2="75"/> │
00:08:56 verbose #16255 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │
00:08:56 verbose #16256 > > │ x2="107" y2="75"/> │
00:08:56 verbose #16257 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:56 verbose #16258 > > │ x2="119" y2="75"/> │
00:08:56 verbose #16259 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424" │
00:08:56 verbose #16260 > > │ x2="132" y2="75"/> │
00:08:56 verbose #16261 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
00:08:56 verbose #16262 > > │ x2="144" y2="75"/> │
00:08:56 verbose #16263 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424" │
00:08:56 verbose #16264 > > │ x2="157" y2="75"/> │
00:08:56 verbose #16265 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:08:56 verbose #16266 > > │ x2="169" y2="75"/> │
00:08:56 verbose #16267 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424" │
00:08:56 verbose #16268 > > │ x2="182" y2="75"/> │
00:08:56 verbose #16269 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
00:08:56 verbose #16270 > > │ x2="194" y2="75"/> │
00:08:56 verbose #16271 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424" │
00:08:56 verbose #16272 > > │ x2="207" y2="75"/> │
00:08:56 verbose #16273 > > │ <line opacity... │
00:08:56 verbose #16274 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16275 > >
00:08:56 verbose #16276 > > ╭─[ 108.75ms - stdout ]────────────────────────────────────────────────────────╮
00:08:56 verbose #16277 > > │ 00:00:05 debug #10 execute_with_options_async / options: struct (Some │
00:08:56 verbose #16278 > > │ System.Threading.CancellationToken, │
00:08:56 verbose #16279 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:56 verbose #16280 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:56 verbose #16281 > > │ 00:00:05 verbose #11 > Creating │
00:08:56 verbose #16282 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/ca2832 │
00:08:56 verbose #16283 > > │ 4d0914f6213d0165ae9c1e93d26d3b9e674acc73e0947a72dfaf617897.svg │
00:08:56 verbose #16284 > > │ 00:00:05 debug #12 execute_with_options_async / exit_code: 0 / │
00:08:56 verbose #16285 > > │ output.Length: 147 │
00:08:56 verbose #16286 > > │ │
00:08:56 verbose #16287 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16288 > >
00:08:56 verbose #16289 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:56 verbose #16290 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:56 verbose #16291 > > │ ## derivative │
00:08:56 verbose #16292 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16293 > >
00:08:56 verbose #16294 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16295 > > type derivative = (f64 -> f64) -> f64 -> f64
00:08:56 verbose #16296 > >
00:08:56 verbose #16297 > > inl derivative dt : derivative =
00:08:56 verbose #16298 > > fun x t =>
00:08:56 verbose #16299 > > (x (t + dt / 2) - x (t - dt / 2)) / dt
00:08:56 verbose #16300 > 00:08:55 debug #811 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f80e8837d9fe12cc81c971cd74a0451ac3b55483e6fc277f8d50f60fe9d4370a/main.spi
00:08:56 verbose #16301 > >
00:08:56 verbose #16302 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16303 > > //// test
00:08:56 verbose #16304 > >
00:08:56 verbose #16305 > > derivative 1 (fun x => x ** 4 / 4) 1 - 1
00:08:56 verbose #16306 > > |> _assert_approx_eq None 0.25
00:08:56 verbose #16307 > >
00:08:56 verbose #16308 > > derivative 0.001 (fun x => x ** 4 / 4) 1 - 1
00:08:56 verbose #16309 > > |> _assert_approx_eq None 0.0000002499998827953931
00:08:56 verbose #16310 > >
00:08:56 verbose #16311 > > derivative 0.000001 (fun x => x ** 4 / 4) 1 - 1
00:08:56 verbose #16312 > > |> _assert_approx_eq None 0.000000000001000088900582341
00:08:56 verbose #16313 > >
00:08:56 verbose #16314 > > derivative 0.000000001 (fun x => x ** 4 / 4) 1 - 1
00:08:56 verbose #16315 > > |> _assert_approx_eq None 0.00000008274037099909037
00:08:56 verbose #16316 > >
00:08:56 verbose #16317 > > derivative 0.000000000001 (fun x => x ** 4 / 4) 1 - 1
00:08:56 verbose #16318 > > |> _assert_approx_eq None 0.00008890058234101161
00:08:56 verbose #16319 > >
00:08:56 verbose #16320 > > derivative 0.000000000000001 (fun x => x ** 4 / 4) 1 - 1
00:08:56 verbose #16321 > > |> _assert_approx_eq None -0.0007992778373592246
00:08:56 verbose #16322 > >
00:08:56 verbose #16323 > > derivative 0.000000000000000001 (fun x => x ** 4 / 4) 1 - 1
00:08:56 verbose #16324 > > |> _assert_approx_eq None -1
00:08:56 verbose #16325 > 00:08:55 debug #812 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/50f5cf9626a531f9abc4c1dcecb6f702342c8671de2b648ff33773d4e87c1188/main.spi
00:08:56 verbose #16326 > >
00:08:56 verbose #16327 > > ╭─[ 117.23ms - stdout ]────────────────────────────────────────────────────────╮
00:08:56 verbose #16328 > > │ assert_approx_eq / actual: 0.25 / expected: 0.25 │
00:08:56 verbose #16329 > > │ assert_approx_eq / actual: 2.499998828e-07 / expected: 2.499998828e-07 │
00:08:56 verbose #16330 > > │ assert_approx_eq / actual: 1.000088901e-12 / expected: 1.000088901e-12 │
00:08:56 verbose #16331 > > │ assert_approx_eq / actual: 8.2740371e-08 / expected: 8.2740371e-08 │
00:08:56 verbose #16332 > > │ assert_approx_eq / actual: 8.890058234e-05 / expected: 8.890058234e-05 │
00:08:56 verbose #16333 > > │ assert_approx_eq / actual: -0.0007992778374 / expected: -0.0007992778374 │
00:08:56 verbose #16334 > > │ assert_approx_eq / actual: -1.0 / expected: -1.0 │
00:08:56 verbose #16335 > > │ │
00:08:56 verbose #16336 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16337 > >
00:08:56 verbose #16338 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:56 verbose #16339 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:56 verbose #16340 > > │ ## integration │
00:08:56 verbose #16341 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16342 > >
00:08:56 verbose #16343 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16344 > > type integration = (f64 -> f64) -> f64 -> f64 -> f64
00:08:56 verbose #16345 > >
00:08:56 verbose #16346 > > inl integral dt : integration =
00:08:56 verbose #16347 > > fun f a b =>
00:08:56 verbose #16348 > > inl rec loop t y =
00:08:56 verbose #16349 > > if t < b
00:08:56 verbose #16350 > > then loop (t + dt) (y + f t * dt)
00:08:56 verbose #16351 > > else t, y
00:08:56 verbose #16352 > > loop (a + dt / 2) 0
00:08:56 verbose #16353 > > |> snd
00:08:56 verbose #16354 > 00:08:56 debug #813 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6e81c81f11488b63f3c0c66dbcc5d8a439c0b6e6335131e5e8879cc1736afeb1/main.spi
00:08:56 verbose #16355 > >
00:08:56 verbose #16356 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16357 > > //// test
00:08:56 verbose #16358 > >
00:08:56 verbose #16359 > > integral 0.01 math.square 0 1
00:08:56 verbose #16360 > > |> _assert_approx_eq None 0.33332500000000004
00:08:56 verbose #16361 > 00:08:56 debug #814 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2bd7dc9a4f416b9b208e9d8e9f36f42a59d34a994e92feb612f9afdbf9a853b1/main.spi
00:08:56 verbose #16362 > >
00:08:56 verbose #16363 > > ╭─[ 78.87ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:56 verbose #16364 > > │ assert_approx_eq / actual: 0.333325 / expected: 0.333325 │
00:08:56 verbose #16365 > > │ │
00:08:56 verbose #16366 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16367 > >
00:08:56 verbose #16368 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16369 > > inl integral' dt : integration =
00:08:56 verbose #16370 > > fun f a b =>
00:08:56 verbose #16371 > > listm'.init_series (a + dt / 2) (b - dt / 2) dt
00:08:56 verbose #16372 > > |> listm.map (f >> (*) dt)
00:08:56 verbose #16373 > > |> listm'.sum
00:08:56 verbose #16374 > 00:08:56 debug #815 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/860ddc8bf832ab88756de33f04e45993a8cea682bb3c53202de92f10a1cf8c9c/main.spi
00:08:56 verbose #16375 > >
00:08:56 verbose #16376 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16377 > > //// test
00:08:56 verbose #16378 > >
00:08:56 verbose #16379 > > integral' 0.1 math.square 0 1
00:08:56 verbose #16380 > > |> _assert_approx_eq None (integral 0.1 math.square 0 1)
00:08:56 verbose #16381 > 00:08:56 debug #816 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1e9155931859fb25eabead77ffbc18d304afe7862ca97c7052ae5739c2011ffa/main.spi
00:08:56 verbose #16382 > >
00:08:56 verbose #16383 > > ╭─[ 77.92ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:56 verbose #16384 > > │ assert_approx_eq / actual: 0.3325 / expected: 0.3325 │
00:08:56 verbose #16385 > > │ │
00:08:56 verbose #16386 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:56 verbose #16387 > >
00:08:56 verbose #16388 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16389 > > inl integral'' dt : integration =
00:08:56 verbose #16390 > > fun f a b =>
00:08:56 verbose #16391 > > am'.init_series (a + dt / 2) (b - dt / 2) dt
00:08:56 verbose #16392 > > |> am.map (f >> (*) dt)
00:08:56 verbose #16393 > > |> am'.sum
00:08:56 verbose #16394 > 00:08:56 debug #817 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/97686cfecd045f359409ad19c603315fbfdee3bd4b77872115494b400face5c1/main.spi
00:08:56 verbose #16395 > >
00:08:56 verbose #16396 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:56 verbose #16397 > > //// test
00:08:56 verbose #16398 > >
00:08:56 verbose #16399 > > integral'' 0.01 math.square 0 1
00:08:56 verbose #16400 > > |> _assert_approx_eq None (integral 0.01 math.square 0 1)
00:08:56 verbose #16401 > 00:08:56 debug #818 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2c946671fc8c8799bfa860e947c88d0fd0ad7e321bb033c3512a720469abbd85/main.spi
00:08:57 verbose #16402 > >
00:08:57 verbose #16403 > > ╭─[ 141.84ms - stdout ]────────────────────────────────────────────────────────╮
00:08:57 verbose #16404 > > │ assert_approx_eq / actual: 0.333325 / expected: 0.333325 │
00:08:57 verbose #16405 > > │ │
00:08:57 verbose #16406 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16407 > >
00:08:57 verbose #16408 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:57 verbose #16409 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:57 verbose #16410 > > │ ## anti_derivative │
00:08:57 verbose #16411 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16412 > >
00:08:57 verbose #16413 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16414 > > inl anti_derivative dt v0 a t =
00:08:57 verbose #16415 > > v0 + integral' dt a 0 t
00:08:57 verbose #16416 > 00:08:56 debug #819 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/740a865fe8d50bb68e0938ba1d5e45c7406f3eced0850e0412ee726eeb807022/main.spi
00:08:57 verbose #16417 > >
00:08:57 verbose #16418 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:57 verbose #16419 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:57 verbose #16420 > > │ ## velocity_ft │
00:08:57 verbose #16421 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16422 > >
00:08:57 verbose #16423 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16424 > > type velocity_ft = mass -> velocity -> list (time -> force) -> (time ->
00:08:57 verbose #16425 > > velocity)
00:08:57 verbose #16426 > >
00:08:57 verbose #16427 > > inl velocity_ft dt : velocity_ft =
00:08:57 verbose #16428 > > fun m v0 fs =>
00:08:57 verbose #16429 > > inl f_net t = fs |> listm.map (fun f => f t) |> listm'.sum
00:08:57 verbose #16430 > > inl a t = f_net t / m
00:08:57 verbose #16431 > > anti_derivative dt v0 a
00:08:57 verbose #16432 > 00:08:56 debug #820 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8237c9154d0090931b43cffe6358fb6f8e97993a52406d0f234476993066085b/main.spi
00:08:57 verbose #16433 > >
00:08:57 verbose #16434 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:57 verbose #16435 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:57 verbose #16436 > > │ ## position_ft │
00:08:57 verbose #16437 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16438 > >
00:08:57 verbose #16439 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16440 > > type position_ft = mass -> position -> velocity -> list (time -> force) -> (time
00:08:57 verbose #16441 > > -> position)
00:08:57 verbose #16442 > >
00:08:57 verbose #16443 > > inl position_ft dt : position_ft =
00:08:57 verbose #16444 > > fun m x0 v0 fs =>
00:08:57 verbose #16445 > > velocity_ft dt m v0 fs
00:08:57 verbose #16446 > > |> anti_derivative dt x0
00:08:57 verbose #16447 > 00:08:56 debug #821 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ebf956259c64d485092a5afb09902c33fe15da9d62f4b8b4832b97fc10d54742/main.spi
00:08:57 verbose #16448 > >
00:08:57 verbose #16449 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16450 > > //// test
00:08:57 verbose #16451 > >
00:08:57 verbose #16452 > > inl pedal_coast (t : time) : force =
00:08:57 verbose #16453 > > inl t_cycle = 20
00:08:57 verbose #16454 > > inl n_complete : i32 = t / t_cycle |> conv
00:08:57 verbose #16455 > > inl remainder = t - conv n_complete * t_cycle
00:08:57 verbose #16456 > > if remainder > 0 && remainder < 10
00:08:57 verbose #16457 > > then 10
00:08:57 verbose #16458 > > else 0
00:08:57 verbose #16459 > >
00:08:57 verbose #16460 > > inl x = am'.init_series -5 45 0.1
00:08:57 verbose #16461 > > inl y = x |> am.map pedal_coast
00:08:57 verbose #16462 > > "child pedaling then coasting", "time (s)", "", ;[[ "force on bike (N)", x, y ]]
00:08:57 verbose #16463 > 00:08:56 debug #822 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6d5514da7ae6f23e2e54c1727fe17bd0baafae8a82677ae047ef41f8f3c965e4/main.spi
00:08:57 verbose #16464 > >
00:08:57 verbose #16465 > > ╭─[ 116.58ms - return value ]──────────────────────────────────────────────────╮
00:08:57 verbose #16466 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:57 verbose #16467 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:57 verbose #16468 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:57 verbose #16469 > > │ stroke="none"/> │
00:08:57 verbose #16470 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:57 verbose #16471 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:57 verbose #16472 > > │ fill="#FFFFFF"> │
00:08:57 verbose #16473 > > │ child pedaling then coasting │
00:08:57 verbose #16474 > > │ </text> │
00:08:57 verbose #16475 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:08:57 verbose #16476 > > │ y2="75"/> │
00:08:57 verbose #16477 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:57 verbose #16478 > > │ y2="75"/> │
00:08:57 verbose #16479 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:08:57 verbose #16480 > > │ y2="75"/> │
00:08:57 verbose #16481 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:08:57 verbose #16482 > > │ y2="75"/> │
00:08:57 verbose #16483 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
00:08:57 verbose #16484 > > │ y2="75"/> │
00:08:57 verbose #16485 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
00:08:57 verbose #16486 > > │ x2="109" y2="75"/> │
00:08:57 verbose #16487 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:57 verbose #16488 > > │ x2="119" y2="75"/> │
00:08:57 verbose #16489 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:08:57 verbose #16490 > > │ x2="129" y2="75"/> │
00:08:57 verbose #16491 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:08:57 verbose #16492 > > │ x2="139" y2="75"/> │
00:08:57 verbose #16493 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
00:08:57 verbose #16494 > > │ x2="149" y2="75"/> │
00:08:57 verbose #16495 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
00:08:57 verbose #16496 > > │ x2="159" y2="75"/> │
00:08:57 verbose #16497 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:08:57 verbose #16498 > > │ x2="169" y2="75"/> │
00:08:57 verbose #16499 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
00:08:57 verbose #16500 > > │ x2="179" y2="75"/> │
00:08:57 verbose #16501 > > │ <line ... │
00:08:57 verbose #16502 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16503 > >
00:08:57 verbose #16504 > > ╭─[ 119.13ms - stdout ]────────────────────────────────────────────────────────╮
00:08:57 verbose #16505 > > │ 00:00:06 debug #13 execute_with_options_async / options: struct (Some │
00:08:57 verbose #16506 > > │ System.Threading.CancellationToken, │
00:08:57 verbose #16507 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:57 verbose #16508 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:57 verbose #16509 > > │ 00:00:06 verbose #14 > Creating │
00:08:57 verbose #16510 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/0ac10e │
00:08:57 verbose #16511 > > │ d4fc31e5733d3eadbbffbf047568e7cb8eed5922ef2828dbad94721326.svg │
00:08:57 verbose #16512 > > │ 00:00:06 debug #15 execute_with_options_async / exit_code: 0 / │
00:08:57 verbose #16513 > > │ output.Length: 147 │
00:08:57 verbose #16514 > > │ │
00:08:57 verbose #16515 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16516 > >
00:08:57 verbose #16517 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16518 > > //// test
00:08:57 verbose #16519 > >
00:08:57 verbose #16520 > > inl x = am'.init_series -5 45 1
00:08:57 verbose #16521 > > inl y = x |> am.map (position_ft 0.1f64 20 0 0 [[ pedal_coast ]])
00:08:57 verbose #16522 > > "child pedaling then coasting", "time (s)", "", ;[[ "position of bike (m)", x, y
00:08:57 verbose #16523 > > ]]
00:08:57 verbose #16524 > 00:08:56 debug #823 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f4e528f48cb537c032e73a2276319cb2a679f90c04ec0c551655ef3ef01d7611/main.spi
00:08:57 verbose #16525 > >
00:08:57 verbose #16526 > > ╭─[ 375.00ms - return value ]──────────────────────────────────────────────────╮
00:08:57 verbose #16527 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:57 verbose #16528 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:57 verbose #16529 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:57 verbose #16530 > > │ stroke="none"/> │
00:08:57 verbose #16531 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:57 verbose #16532 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:57 verbose #16533 > > │ fill="#FFFFFF"> │
00:08:57 verbose #16534 > > │ child pedaling then coasting │
00:08:57 verbose #16535 > > │ </text> │
00:08:57 verbose #16536 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:08:57 verbose #16537 > > │ y2="75"/> │
00:08:57 verbose #16538 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:57 verbose #16539 > > │ y2="75"/> │
00:08:57 verbose #16540 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:08:57 verbose #16541 > > │ y2="75"/> │
00:08:57 verbose #16542 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:08:57 verbose #16543 > > │ y2="75"/> │
00:08:57 verbose #16544 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
00:08:57 verbose #16545 > > │ y2="75"/> │
00:08:57 verbose #16546 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
00:08:57 verbose #16547 > > │ x2="109" y2="75"/> │
00:08:57 verbose #16548 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:57 verbose #16549 > > │ x2="119" y2="75"/> │
00:08:57 verbose #16550 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:08:57 verbose #16551 > > │ x2="129" y2="75"/> │
00:08:57 verbose #16552 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:08:57 verbose #16553 > > │ x2="139" y2="75"/> │
00:08:57 verbose #16554 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
00:08:57 verbose #16555 > > │ x2="149" y2="75"/> │
00:08:57 verbose #16556 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
00:08:57 verbose #16557 > > │ x2="159" y2="75"/> │
00:08:57 verbose #16558 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:08:57 verbose #16559 > > │ x2="169" y2="75"/> │
00:08:57 verbose #16560 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
00:08:57 verbose #16561 > > │ x2="179" y2="75"/> │
00:08:57 verbose #16562 > > │ <line ... │
00:08:57 verbose #16563 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16564 > >
00:08:57 verbose #16565 > > ╭─[ 377.83ms - stdout ]────────────────────────────────────────────────────────╮
00:08:57 verbose #16566 > > │ 00:00:06 debug #16 execute_with_options_async / options: struct (Some │
00:08:57 verbose #16567 > > │ System.Threading.CancellationToken, │
00:08:57 verbose #16568 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:57 verbose #16569 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:57 verbose #16570 > > │ 00:00:06 verbose #17 > Creating │
00:08:57 verbose #16571 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/111e33 │
00:08:57 verbose #16572 > > │ 4258a3fc6398b55a8d561905d49cd0648a39dd06c1856b1cb0e8a9546c.svg │
00:08:57 verbose #16573 > > │ 00:00:06 debug #18 execute_with_options_async / exit_code: 0 / │
00:08:57 verbose #16574 > > │ output.Length: 147 │
00:08:57 verbose #16575 > > │ │
00:08:57 verbose #16576 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16577 > >
00:08:57 verbose #16578 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:57 verbose #16579 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:57 verbose #16580 > > │ ## velocity_fv │
00:08:57 verbose #16581 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:57 verbose #16582 > >
00:08:57 verbose #16583 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16584 > > inl newton_second_v m fs v0 =
00:08:57 verbose #16585 > > fs |> listm.map (fun f => f v0) |> listm'.sum |> fun x => x / m
00:08:57 verbose #16586 > >
00:08:57 verbose #16587 > > inl update_velocity dt m fs v0 =
00:08:57 verbose #16588 > > v0 + newton_second_v m fs v0 * dt
00:08:57 verbose #16589 > >
00:08:57 verbose #16590 > > inl velocity_fv dt m v0 fs t =
00:08:57 verbose #16591 > > stream.iterate (update_velocity dt m fs) v0
00:08:57 verbose #16592 > > |> stream.try_item (t / dt |> math.round |> abs)
00:08:57 verbose #16593 > > |> optionm'.default_value 0
00:08:57 verbose #16594 > 00:08:57 debug #824 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a1fa2639c7184c59f966e5b35c8f040b222474f2a95077866294362ca9b5f233/main.spi
00:08:57 verbose #16595 > >
00:08:57 verbose #16596 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16597 > > inl f_air drag rho area v =
00:08:57 verbose #16598 > > -drag * rho * area * abs v * v / 2
00:08:57 verbose #16599 > 00:08:57 debug #825 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ec50528e859ff33231e33a0fa6eda80d5d332416efef0c42ed6bdecd777e704/main.spi
00:08:57 verbose #16600 > >
00:08:57 verbose #16601 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:57 verbose #16602 > > //// test
00:08:57 verbose #16603 > >
00:08:57 verbose #16604 > > inl x = am'.init_series 0 60 0.5
00:08:57 verbose #16605 > > inl y = x |> am.map (velocity_fv 1 70 0f64 [[ fun _ => 100; f_air 2 1.225 0.6
00:08:57 verbose #16606 > > ]])
00:08:57 verbose #16607 > > "bike velocity", "time (s)", "", ;[[ "velocity of bike (m/s)", x, y ]]
00:08:57 verbose #16608 > 00:08:57 debug #826 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d0c5e43bd0467968cd5688664616493da6f508cad2fb4d5051d86853bb875e7c/main.spi
00:08:58 verbose #16609 > >
00:08:58 verbose #16610 > > ╭─[ 346.98ms - return value ]──────────────────────────────────────────────────╮
00:08:58 verbose #16611 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:58 verbose #16612 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:58 verbose #16613 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:58 verbose #16614 > > │ stroke="none"/> │
00:08:58 verbose #16615 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:58 verbose #16616 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:58 verbose #16617 > > │ fill="#FFFFFF"> │
00:08:58 verbose #16618 > > │ bike velocity │
00:08:58 verbose #16619 > > │ </text> │
00:08:58 verbose #16620 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:08:58 verbose #16621 > > │ y2="75"/> │
00:08:58 verbose #16622 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:58 verbose #16623 > > │ y2="75"/> │
00:08:58 verbose #16624 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:08:58 verbose #16625 > > │ y2="75"/> │
00:08:58 verbose #16626 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:08:58 verbose #16627 > > │ y2="75"/> │
00:08:58 verbose #16628 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:08:58 verbose #16629 > > │ y2="75"/> │
00:08:58 verbose #16630 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
00:08:58 verbose #16631 > > │ x2="103" y2="75"/> │
00:08:58 verbose #16632 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
00:08:58 verbose #16633 > > │ x2="111" y2="75"/> │
00:08:58 verbose #16634 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:58 verbose #16635 > > │ x2="119" y2="75"/> │
00:08:58 verbose #16636 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
00:08:58 verbose #16637 > > │ x2="128" y2="75"/> │
00:08:58 verbose #16638 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
00:08:58 verbose #16639 > > │ x2="136" y2="75"/> │
00:08:58 verbose #16640 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
00:08:58 verbose #16641 > > │ x2="144" y2="75"/> │
00:08:58 verbose #16642 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
00:08:58 verbose #16643 > > │ x2="153" y2="75"/> │
00:08:58 verbose #16644 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
00:08:58 verbose #16645 > > │ x2="161" y2="75"/> │
00:08:58 verbose #16646 > > │ <line opacity="1" str... │
00:08:58 verbose #16647 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16648 > >
00:08:58 verbose #16649 > > ╭─[ 349.58ms - stdout ]────────────────────────────────────────────────────────╮
00:08:58 verbose #16650 > > │ 00:00:07 debug #19 execute_with_options_async / options: struct (Some │
00:08:58 verbose #16651 > > │ System.Threading.CancellationToken, │
00:08:58 verbose #16652 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:58 verbose #16653 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:58 verbose #16654 > > │ 00:00:07 verbose #20 > Creating │
00:08:58 verbose #16655 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/b1c46a │
00:08:58 verbose #16656 > > │ 76c7d245173909491beb9557fd28414b9dde459da20a63459014535a90.svg │
00:08:58 verbose #16657 > > │ 00:00:07 debug #21 execute_with_options_async / exit_code: 0 / │
00:08:58 verbose #16658 > > │ output.Length: 147 │
00:08:58 verbose #16659 > > │ │
00:08:58 verbose #16660 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16661 > >
00:08:58 verbose #16662 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:58 verbose #16663 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:58 verbose #16664 > > │ ## velocity_ftv │
00:08:58 verbose #16665 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16666 > >
00:08:58 verbose #16667 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:58 verbose #16668 > > inl newton_second_tv m fs (t, v0) =
00:08:58 verbose #16669 > > inl f_net = fs |> listm.map (fun f => f (t, v0)) |> listm'.sum
00:08:58 verbose #16670 > > inl acc = f_net / m
00:08:58 verbose #16671 > > 1, acc
00:08:58 verbose #16672 > >
00:08:58 verbose #16673 > > inl update_tv dt m fs (t, v0) =
00:08:58 verbose #16674 > > inl dtdt, dvdt = newton_second_tv m fs (t, v0)
00:08:58 verbose #16675 > > t + dtdt * dt, v0 + dvdt * dt
00:08:58 verbose #16676 > >
00:08:58 verbose #16677 > > inl velocity_ftv dt m tv0 fs t =
00:08:58 verbose #16678 > > stream.iterate (join update_tv dt m fs) tv0
00:08:58 verbose #16679 > > |> stream.try_item (t / dt |> math.round |> abs)
00:08:58 verbose #16680 > > |> optionm.map snd
00:08:58 verbose #16681 > > |> optionm'.default_value 0
00:08:58 verbose #16682 > 00:08:57 debug #827 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/86e483b0e11b9d122f1cad22b11de39e1ab1e4ad4e5bd7ff70f13cf9f3002e02/main.spi
00:08:58 verbose #16683 > >
00:08:58 verbose #16684 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:58 verbose #16685 > > //// test
00:08:58 verbose #16686 > >
00:08:58 verbose #16687 > > inl x = am'.init_series 0 100 0.1
00:08:58 verbose #16688 > > inl y =
00:08:58 verbose #16689 > > x
00:08:58 verbose #16690 > > |> am.map (
00:08:58 verbose #16691 > > velocity_ftv 0.1 20 (dyn (0, 0)) [[ fun (t, _) => pedal_coast t; fun (_,
00:08:58 verbose #16692 > > v) => f_air 2 1.225 0.5 v ]]
00:08:58 verbose #16693 > > )
00:08:58 verbose #16694 > > "pedaling and coasting with air", "time (s)", "", ;[[ "velocity of bike (m/s)",
00:08:58 verbose #16695 > > x, y ]]
00:08:58 verbose #16696 > 00:08:57 debug #828 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9698417c5a84b965d4dd9899ffe766deb2cb4e017ea6bfa8ae09078c2675de0b/main.spi
00:08:58 verbose #16697 > >
00:08:58 verbose #16698 > > ╭─[ 303.32ms - return value ]──────────────────────────────────────────────────╮
00:08:58 verbose #16699 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:58 verbose #16700 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:58 verbose #16701 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:58 verbose #16702 > > │ stroke="none"/> │
00:08:58 verbose #16703 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:58 verbose #16704 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:58 verbose #16705 > > │ fill="#FFFFFF"> │
00:08:58 verbose #16706 > > │ pedaling and coasting with air │
00:08:58 verbose #16707 > > │ </text> │
00:08:58 verbose #16708 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:08:58 verbose #16709 > > │ y2="75"/> │
00:08:58 verbose #16710 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:58 verbose #16711 > > │ y2="75"/> │
00:08:58 verbose #16712 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:08:58 verbose #16713 > > │ y2="75"/> │
00:08:58 verbose #16714 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:08:58 verbose #16715 > > │ y2="75"/> │
00:08:58 verbose #16716 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
00:08:58 verbose #16717 > > │ y2="75"/> │
00:08:58 verbose #16718 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
00:08:58 verbose #16719 > > │ x2="109" y2="75"/> │
00:08:58 verbose #16720 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:58 verbose #16721 > > │ x2="119" y2="75"/> │
00:08:58 verbose #16722 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:08:58 verbose #16723 > > │ x2="129" y2="75"/> │
00:08:58 verbose #16724 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:08:58 verbose #16725 > > │ x2="139" y2="75"/> │
00:08:58 verbose #16726 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
00:08:58 verbose #16727 > > │ x2="149" y2="75"/> │
00:08:58 verbose #16728 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
00:08:58 verbose #16729 > > │ x2="159" y2="75"/> │
00:08:58 verbose #16730 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:08:58 verbose #16731 > > │ x2="169" y2="75"/> │
00:08:58 verbose #16732 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
00:08:58 verbose #16733 > > │ x2="179" y2="75"/> │
00:08:58 verbose #16734 > > │ <lin... │
00:08:58 verbose #16735 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16736 > >
00:08:58 verbose #16737 > > ╭─[ 305.93ms - stdout ]────────────────────────────────────────────────────────╮
00:08:58 verbose #16738 > > │ 00:00:07 debug #22 execute_with_options_async / options: struct (Some │
00:08:58 verbose #16739 > > │ System.Threading.CancellationToken, │
00:08:58 verbose #16740 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:58 verbose #16741 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:58 verbose #16742 > > │ 00:00:07 verbose #23 > Creating │
00:08:58 verbose #16743 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/7ce179 │
00:08:58 verbose #16744 > > │ a0676b6aeb0873f38a984563540676d6a701ce833dc3c5e65d8ab7def7.svg │
00:08:58 verbose #16745 > > │ 00:00:07 debug #24 execute_with_options_async / exit_code: 0 / │
00:08:58 verbose #16746 > > │ output.Length: 147 │
00:08:58 verbose #16747 > > │ │
00:08:58 verbose #16748 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16749 > >
00:08:58 verbose #16750 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:58 verbose #16751 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:58 verbose #16752 > > │ ## velocity_ftxv │
00:08:58 verbose #16753 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16754 > >
00:08:58 verbose #16755 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:58 verbose #16756 > > nominal state_1d = time * position * velocity
00:08:58 verbose #16757 > > nominal rrr = f64 * f64 * f64
00:08:58 verbose #16758 > >
00:08:58 verbose #16759 > > inl newton_second_1d m fs (state_1d (t, x0, v0)) =
00:08:58 verbose #16760 > > inl f_net = fs |> listm.map (fun f => f (state_1d (t, x0, v0))) |>
00:08:58 verbose #16761 > > listm'.sum
00:08:58 verbose #16762 > > inl acc = f_net / m
00:08:58 verbose #16763 > > rrr (1f64, v0, acc)
00:08:58 verbose #16764 > >
00:08:58 verbose #16765 > > inl euler_1d dt deriv (state_1d (t0, x0, v0) as t) =
00:08:58 verbose #16766 > > inl (rrr (_, _, dvdt)) = deriv t
00:08:58 verbose #16767 > > inl t1 = t0 + dt
00:08:58 verbose #16768 > > inl x1 = x0 + v0 * dt
00:08:58 verbose #16769 > > inl v1 = v0 + dvdt * dt
00:08:58 verbose #16770 > > state_1d (t1, x1, v1)
00:08:58 verbose #16771 > >
00:08:58 verbose #16772 > > inl update_txv dt m fs =
00:08:58 verbose #16773 > > newton_second_1d m fs |> euler_1d dt
00:08:58 verbose #16774 > >
00:08:58 verbose #16775 > > inl states_txv dt m txv0 fs =
00:08:58 verbose #16776 > > seq.iterate_ (update_txv dt m fs) txv0
00:08:58 verbose #16777 > >
00:08:58 verbose #16778 > > inl velocity_1d sts t =
00:08:58 verbose #16779 > > inl (state_1d (t0, _, _)) = sts 0
00:08:58 verbose #16780 > > inl (state_1d (t1, _, _)) = sts 1
00:08:58 verbose #16781 > > inl dt = t1 - t0
00:08:58 verbose #16782 > > inl num_steps = t / dt |> math.round |> abs
00:08:58 verbose #16783 > > inl (state_1d (_, _, v0)) = sts num_steps
00:08:58 verbose #16784 > > v0
00:08:58 verbose #16785 > >
00:08:58 verbose #16786 > > inl velocity_ftxv dt m txv0 fs =
00:08:58 verbose #16787 > > states_txv dt m txv0 fs |> velocity_1d
00:08:58 verbose #16788 > >
00:08:58 verbose #16789 > > inl position_1d sts t =
00:08:58 verbose #16790 > > inl (state_1d (t0, _, _)) = sts 0
00:08:58 verbose #16791 > > inl (state_1d (t1, _, _)) = sts 1
00:08:58 verbose #16792 > > inl dt = t1 - t0
00:08:58 verbose #16793 > > inl num_steps = t / dt |> math.round |> abs
00:08:58 verbose #16794 > > inl (state_1d (_, x0, _)) = sts num_steps
00:08:58 verbose #16795 > > x0
00:08:58 verbose #16796 > >
00:08:58 verbose #16797 > > inl position_ftxv dt m txv0 fs =
00:08:58 verbose #16798 > > states_txv dt m txv0 fs |> position_1d
00:08:58 verbose #16799 > >
00:08:58 verbose #16800 > > inl spring_force k (state_1d (_, x0, _)) =
00:08:58 verbose #16801 > > -k * x0
00:08:58 verbose #16802 > 00:08:58 debug #829 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2c44b0e7e4d37b5f1b925e52dfc30777a3c83699b124341f2b47eef07fa2800d/main.spi
00:08:58 verbose #16803 > >
00:08:58 verbose #16804 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:58 verbose #16805 > > //// test
00:08:58 verbose #16806 > >
00:08:58 verbose #16807 > > inl damped_ho_forces () =
00:08:58 verbose #16808 > > [[
00:08:58 verbose #16809 > > spring_force 0.8
00:08:58 verbose #16810 > > fun (state_1d (_, _, v0)) => f_air 2 1.225 (pi * math.square 0.02) v0
00:08:58 verbose #16811 > > fun _ => -0.0027 * 9.80665
00:08:58 verbose #16812 > > ]]
00:08:58 verbose #16813 > >
00:08:58 verbose #16814 > > inl damped_ho_states () =
00:08:58 verbose #16815 > > states_txv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ())
00:08:58 verbose #16816 > >
00:08:58 verbose #16817 > > inl pingpong_position t =
00:08:58 verbose #16818 > > position_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
00:08:58 verbose #16819 > >
00:08:58 verbose #16820 > > inl x : a _ f64 = am'.init_series 0 3 0.01
00:08:58 verbose #16821 > > inl y = x |> am.map pingpong_position
00:08:58 verbose #16822 > > "ping pong ball on a slinky", "time (s)", "", ;[[ "position (m)", x, y ]]
00:08:58 verbose #16823 > 00:08:58 debug #830 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a38562586537495bbbb7e982c44e5c3c848835f7e8bdef383167283dadba44b0/main.spi
00:08:58 verbose #16824 > >
00:08:58 verbose #16825 > > ╭─[ 198.09ms - return value ]──────────────────────────────────────────────────╮
00:08:58 verbose #16826 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:58 verbose #16827 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:58 verbose #16828 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:58 verbose #16829 > > │ stroke="none"/> │
00:08:58 verbose #16830 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:58 verbose #16831 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:58 verbose #16832 > > │ fill="#FFFFFF"> │
00:08:58 verbose #16833 > > │ ping pong ball on a slinky │
00:08:58 verbose #16834 > > │ </text> │
00:08:58 verbose #16835 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:08:58 verbose #16836 > > │ y2="75"/> │
00:08:58 verbose #16837 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:58 verbose #16838 > > │ y2="75"/> │
00:08:58 verbose #16839 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:08:58 verbose #16840 > > │ y2="75"/> │
00:08:58 verbose #16841 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:08:58 verbose #16842 > > │ y2="75"/> │
00:08:58 verbose #16843 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:08:58 verbose #16844 > > │ y2="75"/> │
00:08:58 verbose #16845 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
00:08:58 verbose #16846 > > │ x2="103" y2="75"/> │
00:08:58 verbose #16847 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
00:08:58 verbose #16848 > > │ x2="111" y2="75"/> │
00:08:58 verbose #16849 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:58 verbose #16850 > > │ x2="119" y2="75"/> │
00:08:58 verbose #16851 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
00:08:58 verbose #16852 > > │ x2="128" y2="75"/> │
00:08:58 verbose #16853 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
00:08:58 verbose #16854 > > │ x2="136" y2="75"/> │
00:08:58 verbose #16855 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
00:08:58 verbose #16856 > > │ x2="144" y2="75"/> │
00:08:58 verbose #16857 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
00:08:58 verbose #16858 > > │ x2="153" y2="75"/> │
00:08:58 verbose #16859 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
00:08:58 verbose #16860 > > │ x2="161" y2="75"/> │
00:08:58 verbose #16861 > > │ <line op... │
00:08:58 verbose #16862 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16863 > >
00:08:58 verbose #16864 > > ╭─[ 200.93ms - stdout ]────────────────────────────────────────────────────────╮
00:08:58 verbose #16865 > > │ 00:00:08 debug #25 execute_with_options_async / options: struct (Some │
00:08:58 verbose #16866 > > │ System.Threading.CancellationToken, │
00:08:58 verbose #16867 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:58 verbose #16868 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:58 verbose #16869 > > │ 00:00:08 verbose #26 > Creating │
00:08:58 verbose #16870 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/105ea7 │
00:08:58 verbose #16871 > > │ be2f329a89809543cbc25878ca2117d619b4ff6fdec5ae9a8079ac700b.svg │
00:08:58 verbose #16872 > > │ 00:00:08 debug #27 execute_with_options_async / exit_code: 0 / │
00:08:58 verbose #16873 > > │ output.Length: 147 │
00:08:58 verbose #16874 > > │ │
00:08:58 verbose #16875 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:58 verbose #16876 > >
00:08:58 verbose #16877 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:58 verbose #16878 > > //// test
00:08:58 verbose #16879 > >
00:08:58 verbose #16880 > > inl pingpong_velocity t =
00:08:58 verbose #16881 > > velocity_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
00:08:58 verbose #16882 > >
00:08:58 verbose #16883 > > inl x = am'.init_series 0 3 0.01
00:08:58 verbose #16884 > > inl y = x |> am.map pingpong_velocity
00:08:58 verbose #16885 > > "ping pong ball on a slinky", "time (s)", "", ;[[ "velocity (m/s)", x, y ]]
00:08:58 verbose #16886 > 00:08:58 debug #831 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c8deb4783927f5cfbd061d18a678190fe8549159c84b03e0ab7fb18420e8441e/main.spi
00:08:59 verbose #16887 > >
00:08:59 verbose #16888 > > ╭─[ 152.18ms - return value ]──────────────────────────────────────────────────╮
00:08:59 verbose #16889 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:08:59 verbose #16890 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:08:59 verbose #16891 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:08:59 verbose #16892 > > │ stroke="none"/> │
00:08:59 verbose #16893 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:08:59 verbose #16894 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:08:59 verbose #16895 > > │ fill="#FFFFFF"> │
00:08:59 verbose #16896 > > │ ping pong ball on a slinky │
00:08:59 verbose #16897 > > │ </text> │
00:08:59 verbose #16898 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
00:08:59 verbose #16899 > > │ y2="75"/> │
00:08:59 verbose #16900 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:08:59 verbose #16901 > > │ y2="75"/> │
00:08:59 verbose #16902 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
00:08:59 verbose #16903 > > │ y2="75"/> │
00:08:59 verbose #16904 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
00:08:59 verbose #16905 > > │ y2="75"/> │
00:08:59 verbose #16906 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
00:08:59 verbose #16907 > > │ y2="75"/> │
00:08:59 verbose #16908 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
00:08:59 verbose #16909 > > │ x2="103" y2="75"/> │
00:08:59 verbose #16910 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
00:08:59 verbose #16911 > > │ x2="111" y2="75"/> │
00:08:59 verbose #16912 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:08:59 verbose #16913 > > │ x2="119" y2="75"/> │
00:08:59 verbose #16914 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
00:08:59 verbose #16915 > > │ x2="128" y2="75"/> │
00:08:59 verbose #16916 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
00:08:59 verbose #16917 > > │ x2="136" y2="75"/> │
00:08:59 verbose #16918 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
00:08:59 verbose #16919 > > │ x2="144" y2="75"/> │
00:08:59 verbose #16920 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
00:08:59 verbose #16921 > > │ x2="153" y2="75"/> │
00:08:59 verbose #16922 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
00:08:59 verbose #16923 > > │ x2="161" y2="75"/> │
00:08:59 verbose #16924 > > │ <line op... │
00:08:59 verbose #16925 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #16926 > >
00:08:59 verbose #16927 > > ╭─[ 155.30ms - stdout ]────────────────────────────────────────────────────────╮
00:08:59 verbose #16928 > > │ 00:00:08 debug #28 execute_with_options_async / options: struct (Some │
00:08:59 verbose #16929 > > │ System.Threading.CancellationToken, │
00:08:59 verbose #16930 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:08:59 verbose #16931 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:08:59 verbose #16932 > > │ 00:00:08 verbose #29 > Creating │
00:08:59 verbose #16933 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/6e1af8 │
00:08:59 verbose #16934 > > │ 9de9d77d914991731dc22cdee69efe252557400e2aeaa7feb3756058da.svg │
00:08:59 verbose #16935 > > │ 00:00:08 debug #30 execute_with_options_async / exit_code: 0 / │
00:08:59 verbose #16936 > > │ output.Length: 147 │
00:08:59 verbose #16937 > > │ │
00:08:59 verbose #16938 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #16939 > >
00:08:59 verbose #16940 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:59 verbose #16941 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:59 verbose #16942 > > │ ## shift │
00:08:59 verbose #16943 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #16944 > >
00:08:59 verbose #16945 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:59 verbose #16946 > > type update_function s = s -> s
00:08:59 verbose #16947 > >
00:08:59 verbose #16948 > > type differential_equation s ds = s -> ds
00:08:59 verbose #16949 > >
00:08:59 verbose #16950 > > type numerical_method s ds = differential_equation s ds -> update_function s
00:08:59 verbose #16951 > >
00:08:59 verbose #16952 > >
00:08:59 verbose #16953 > > inl solver method =
00:08:59 verbose #16954 > > method >> seq.iterate
00:08:59 verbose #16955 > > inl solver' method =
00:08:59 verbose #16956 > > method >> seq.iterate'
00:08:59 verbose #16957 > > inl solver_ method =
00:08:59 verbose #16958 > > method >> seq.iterate_
00:08:59 verbose #16959 > >
00:08:59 verbose #16960 > >
00:08:59 verbose #16961 > > inl euler_cromer_1d dt deriv (state_1d (t0, x0, v0) as t) =
00:08:59 verbose #16962 > > inl (rrr (_, _, dvdt)) = deriv t
00:08:59 verbose #16963 > > inl t1 = t0 + dt
00:08:59 verbose #16964 > > inl v1 = v0 + dvdt * dt
00:08:59 verbose #16965 > > inl x1 = x0 + v1 * dt
00:08:59 verbose #16966 > > state_1d (t1, x1, v1)
00:08:59 verbose #16967 > >
00:08:59 verbose #16968 > > inl update_txv_ec dt m fs =
00:08:59 verbose #16969 > > euler_cromer_1d dt (newton_second_1d m fs)
00:08:59 verbose #16970 > >
00:08:59 verbose #16971 > > prototype (+++) ds : ds -> ds -> ds
00:08:59 verbose #16972 > > prototype scale ds : f64 -> ds -> ds
00:08:59 verbose #16973 > >
00:08:59 verbose #16974 > > instance (+++) rrr = fun (rrr (dtdt0, dxdt0, dvdt0)) (rrr (dtdt1, dxdt1, dvdt1))
00:08:59 verbose #16975 > > =>
00:08:59 verbose #16976 > > rrr (dtdt0 + dtdt1, dxdt0 + dxdt1, dvdt0 + dvdt1)
00:08:59 verbose #16977 > >
00:08:59 verbose #16978 > > instance scale rrr = fun w (rrr (dtdt0, dxdt0, dvdt0)) =>
00:08:59 verbose #16979 > > rrr (w * dtdt0, w * dxdt0, w * dvdt0)
00:08:59 verbose #16980 > >
00:08:59 verbose #16981 > > prototype shift s : forall ds. f64 -> ds -> s -> s
00:08:59 verbose #16982 > >
00:08:59 verbose #16983 > > instance shift state_1d = fun dt ds (state_1d (t, x, v)) =>
00:08:59 verbose #16984 > > inl dtdt, dxdt, dvdt =
00:08:59 verbose #16985 > > real
00:08:59 verbose #16986 > > match ds with
00:08:59 verbose #16987 > > | rrr x => x
00:08:59 verbose #16988 > > | state_1d x => x
00:08:59 verbose #16989 > > state_1d (t + dtdt * dt, x + dxdt * dt, v + dvdt * dt)
00:08:59 verbose #16990 > >
00:08:59 verbose #16991 > > inl euler dt deriv st0 =
00:08:59 verbose #16992 > > shift dt (deriv st0) st0
00:08:59 verbose #16993 > >
00:08:59 verbose #16994 > > inl runge_kutta_4 dt deriv st0 =
00:08:59 verbose #16995 > > inl m0 = deriv st0
00:08:59 verbose #16996 > > inl m1 = deriv (shift (dt / 2) m0 st0)
00:08:59 verbose #16997 > > inl m2 = deriv (shift (dt / 2) m1 st0)
00:08:59 verbose #16998 > > inl m3 = deriv (shift dt m2 st0)
00:08:59 verbose #16999 > > shift (dt / 6) (m0 +++ m1 +++ m1 +++ m2 +++ m2 +++ m3) st0
00:08:59 verbose #17000 > >
00:08:59 verbose #17001 > > inl exponential (_, x0, v0) =
00:08:59 verbose #17002 > > 1f64, v0, x0
00:08:59 verbose #17003 > >
00:08:59 verbose #17004 > > inl of_state_1d (state_1d (t, x, v)) =
00:08:59 verbose #17005 > > t, x, v
00:08:59 verbose #17006 > 00:08:58 debug #832 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ed78753eb23985b50b227a4cad16b4980bc6f04537324b399909e527c5674d46/main.spi
00:08:59 verbose #17007 > >
00:08:59 verbose #17008 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:59 verbose #17009 > > //// test
00:08:59 verbose #17010 > >
00:08:59 verbose #17011 > > solver (euler 0.01) (of_state_1d >> exponential >> state_1d) (state_1d (0, 1,
00:08:59 verbose #17012 > > 1)) 800i32
00:08:59 verbose #17013 > > |> _assert_eq (state_1d (7.999999999999874, 2864.8311229272326,
00:08:59 verbose #17014 > > 2864.8311229272326))
00:08:59 verbose #17015 > >
00:08:59 verbose #17016 > > solver (euler_cromer_1d 0.1) (of_state_1d >> exponential >> rrr) (state_1d (0,
00:08:59 verbose #17017 > > 1, 1)) 80i32
00:08:59 verbose #17018 > > |> _assert_eq (state_1d (7.999999999999988, 3043.379244966009,
00:08:59 verbose #17019 > > 2895.0121485099035))
00:08:59 verbose #17020 > >
00:08:59 verbose #17021 > > solver (runge_kutta_4 1) (of_state_1d >> exponential >> rrr) (state_1d (0, 1,
00:08:59 verbose #17022 > > 1)) 8i32
00:08:59 verbose #17023 > > |> _assert_eq (state_1d (8.0, 2894.789038540849, 2894.789038540849))
00:08:59 verbose #17024 > 00:08:58 debug #833 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1e2ad1656a4871f4e8f40964186ebb1cdff2a237eec1d8cb9b75c63679fa76f5/main.spi
00:08:59 verbose #17025 > >
00:08:59 verbose #17026 > > ╭─[ 149.10ms - stdout ]────────────────────────────────────────────────────────╮
00:08:59 verbose #17027 > > │ assert_eq / actual: struct (8.0, 2864.831123, 2864.831123) / expected: │
00:08:59 verbose #17028 > > │ struct (8.0, 2864.831123, 2864.831123) │
00:08:59 verbose #17029 > > │ assert_eq / actual: struct (8.0, 3043.379245, 2895.012149) / expected: │
00:08:59 verbose #17030 > > │ struct (8.0, 3043.379245, 2895.012149) │
00:08:59 verbose #17031 > > │ assert_eq / actual: struct (8.0, 2894.789039, 2894.789039) / expected: │
00:08:59 verbose #17032 > > │ struct (8.0, 2894.789039, 2894.789039) │
00:08:59 verbose #17033 > > │ │
00:08:59 verbose #17034 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #17035 > >
00:08:59 verbose #17036 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:59 verbose #17037 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:59 verbose #17038 > > │ ## vec │
00:08:59 verbose #17039 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #17040 > >
00:08:59 verbose #17041 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:59 verbose #17042 > > type vec =
00:08:59 verbose #17043 > > {
00:08:59 verbose #17044 > > x : f64
00:08:59 verbose #17045 > > y : f64
00:08:59 verbose #17046 > > z : f64
00:08:59 verbose #17047 > > }
00:08:59 verbose #17048 > >
00:08:59 verbose #17049 > > inl vec x y z : vec =
00:08:59 verbose #17050 > > { x y z }
00:08:59 verbose #17051 > 00:08:58 debug #834 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/87014a4ee914e1e37b252e3f458cdb4d37da09fae8ec3cc7f83dfacdfa5bebdd/main.spi
00:08:59 verbose #17052 > >
00:08:59 verbose #17053 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:59 verbose #17054 > > //// test
00:08:59 verbose #17055 > >
00:08:59 verbose #17056 > > vec 1 2 3 .z
00:08:59 verbose #17057 > > |> _assert_eq 3
00:08:59 verbose #17058 > 00:08:58 debug #835 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ddfe6c8f86d88530ef1233055f1d4999cee87fc1ea39dfb10afc77ee62865234/main.spi
00:08:59 verbose #17059 > >
00:08:59 verbose #17060 > > ╭─[ 94.66ms - stdout ]─────────────────────────────────────────────────────────╮
00:08:59 verbose #17061 > > │ assert_eq / actual: 3.0 / expected: 3.0 │
00:08:59 verbose #17062 > > │ │
00:08:59 verbose #17063 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #17064 > >
00:08:59 verbose #17065 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:59 verbose #17066 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:59 verbose #17067 > > │ ### consts │
00:08:59 verbose #17068 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #17069 > >
00:08:59 verbose #17070 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:59 verbose #17071 > > inl i_hat () = vec 1 0 0
00:08:59 verbose #17072 > > inl j_hat () = vec 0 1 0
00:08:59 verbose #17073 > > inl k_hat () = vec 0 0 1
00:08:59 verbose #17074 > > inl zero_vec () = vec 0 0 0
00:08:59 verbose #17075 > 00:08:59 debug #836 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/32513f1aaa83c98b9f721d1cadfac50f425e93e69608101ed479379b0065072f/main.spi
00:08:59 verbose #17076 > >
00:08:59 verbose #17077 > > ── markdown ────────────────────────────────────────────────────────────────────
00:08:59 verbose #17078 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:08:59 verbose #17079 > > │ ### ^+^ │
00:08:59 verbose #17080 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:08:59 verbose #17081 > >
00:08:59 verbose #17082 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:59 verbose #17083 > > inl (^+^) (a : vec) (b : vec) =
00:08:59 verbose #17084 > > vec (a.x + b.x) (a.y + b.y) (a.z + b.z)
00:08:59 verbose #17085 > 00:08:59 debug #837 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/86248076566d2d94461c7c719f8d95b2cf488743314995f24322ad7118e0c6ad/main.spi
00:08:59 verbose #17086 > >
00:08:59 verbose #17087 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:08:59 verbose #17088 > > //// test
00:08:59 verbose #17089 > >
00:08:59 verbose #17090 > > vec 1 2 3 ^+^ vec 4 5 6
00:08:59 verbose #17091 > > |> _assert_eq (vec 5 7 9)
00:08:59 verbose #17092 > 00:08:59 debug #838 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/441a250a9cf6b2cc2585c3489ff1f78823580f5c9798fc2f5b12f58c271e3fb7/main.spi
00:09:00 verbose #17093 > >
00:09:00 verbose #17094 > > ╭─[ 531.23ms - stdout ]────────────────────────────────────────────────────────╮
00:09:00 verbose #17095 > > │ assert_eq / actual: struct (5.0, 7.0, 9.0) / expected: struct (5.0, 7.0, │
00:09:00 verbose #17096 > > │ 9.0) │
00:09:00 verbose #17097 > > │ │
00:09:00 verbose #17098 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17099 > >
00:09:00 verbose #17100 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:00 verbose #17101 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:00 verbose #17102 > > │ ### sum_vec │
00:09:00 verbose #17103 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17104 > >
00:09:00 verbose #17105 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17106 > > inl sum_vec vs =
00:09:00 verbose #17107 > > vs |> listm.fold (^+^) (zero_vec ())
00:09:00 verbose #17108 > 00:08:59 debug #839 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f691411d55e835eec69e5a676fefac45ec94de8ca417abf57b7399da9d043675/main.spi
00:09:00 verbose #17109 > >
00:09:00 verbose #17110 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17111 > > //// test
00:09:00 verbose #17112 > >
00:09:00 verbose #17113 > > [[ vec 1 2 3; vec 4 5 6 ]]
00:09:00 verbose #17114 > > |> sum_vec
00:09:00 verbose #17115 > > |> _assert_eq (vec 5 7 9)
00:09:00 verbose #17116 > 00:08:59 debug #840 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/70d856ca5e42393eee19f61cbbb6a7f6ea4711040240e2af56fef49be8694d9b/main.spi
00:09:00 verbose #17117 > >
00:09:00 verbose #17118 > > ╭─[ 87.43ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:00 verbose #17119 > > │ assert_eq / actual: struct (5.0, 7.0, 9.0) / expected: struct (5.0, 7.0, │
00:09:00 verbose #17120 > > │ 9.0) │
00:09:00 verbose #17121 > > │ │
00:09:00 verbose #17122 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17123 > >
00:09:00 verbose #17124 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:00 verbose #17125 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:00 verbose #17126 > > │ ### *^ │
00:09:00 verbose #17127 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17128 > >
00:09:00 verbose #17129 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17130 > > inl (*^) c { x y z } =
00:09:00 verbose #17131 > > vec (c * x) (c * y) (c * z)
00:09:00 verbose #17132 > 00:08:59 debug #841 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8f55735b0e53cbd589750719d11e2f6c3a99ee1465a5fcef4b34890416fabdda/main.spi
00:09:00 verbose #17133 > >
00:09:00 verbose #17134 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17135 > > //// test
00:09:00 verbose #17136 > >
00:09:00 verbose #17137 > > 5 *^ vec 1 2 3
00:09:00 verbose #17138 > > |> _assert_eq (vec 5 10 15)
00:09:00 verbose #17139 > 00:09:00 debug #842 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ba78492cb138467ef20e83271952c9fed2c88bdaca89cddb80fb67abebcb3fe2/main.spi
00:09:00 verbose #17140 > >
00:09:00 verbose #17141 > > ╭─[ 87.42ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:00 verbose #17142 > > │ assert_eq / actual: struct (5.0, 10.0, 15.0) / expected: struct (5.0, 10.0, │
00:09:00 verbose #17143 > > │ 15.0) │
00:09:00 verbose #17144 > > │ │
00:09:00 verbose #17145 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17146 > >
00:09:00 verbose #17147 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17148 > > //// test
00:09:00 verbose #17149 > >
00:09:00 verbose #17150 > > 3 *^ i_hat () ^+^ 4 *^ k_hat ()
00:09:00 verbose #17151 > > |> _assert_eq (vec 3 0 4)
00:09:00 verbose #17152 > 00:09:00 debug #843 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a273831c35e17966b7ad51f03a4055967792918ccb2bf38f11c7eb4e2f4cf5fe/main.spi
00:09:00 verbose #17153 > >
00:09:00 verbose #17154 > > ╭─[ 87.22ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:00 verbose #17155 > > │ assert_eq / actual: struct (3.0, 0.0, 4.0) / expected: struct (3.0, 0.0, │
00:09:00 verbose #17156 > > │ 4.0) │
00:09:00 verbose #17157 > > │ │
00:09:00 verbose #17158 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17159 > >
00:09:00 verbose #17160 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:00 verbose #17161 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:00 verbose #17162 > > │ ### ^* │
00:09:00 verbose #17163 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17164 > >
00:09:00 verbose #17165 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17166 > > inl (^*) v c =
00:09:00 verbose #17167 > > (*^) c v
00:09:00 verbose #17168 > 00:09:00 debug #844 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d96a1b18ca0a4afcca1c67e2495f7ea53b2ed6b39722394feb9d570ce32a151f/main.spi
00:09:00 verbose #17169 > >
00:09:00 verbose #17170 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17171 > > //// test
00:09:00 verbose #17172 > >
00:09:00 verbose #17173 > > vec 1 2 3 ^* 5
00:09:00 verbose #17174 > > |> _assert_eq (vec 5 10 15)
00:09:00 verbose #17175 > 00:09:00 debug #845 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f898368d324e5461a8fc91147ae6f53afa08ab64917aafc426ca4ca6d196209/main.spi
00:09:00 verbose #17176 > >
00:09:00 verbose #17177 > > ╭─[ 98.13ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:00 verbose #17178 > > │ assert_eq / actual: struct (5.0, 10.0, 15.0) / expected: struct (5.0, 10.0, │
00:09:00 verbose #17179 > > │ 15.0) │
00:09:00 verbose #17180 > > │ │
00:09:00 verbose #17181 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17182 > >
00:09:00 verbose #17183 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:00 verbose #17184 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:00 verbose #17185 > > │ ### ^/ │
00:09:00 verbose #17186 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17187 > >
00:09:00 verbose #17188 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17189 > > inl (^/) { x y z } c =
00:09:00 verbose #17190 > > vec (x / c) (y / c) (z / c)
00:09:00 verbose #17191 > 00:09:00 debug #846 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a8c7a2e46bee3fd0d635413fcd08452815320f34ecab27772b4b0f02b0010787/main.spi
00:09:00 verbose #17192 > >
00:09:00 verbose #17193 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17194 > > //// test
00:09:00 verbose #17195 > >
00:09:00 verbose #17196 > > vec 1 2 3 ^/ 5
00:09:00 verbose #17197 > > |> _assert_eq (vec 0.2 0.4 0.6)
00:09:00 verbose #17198 > 00:09:00 debug #847 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e9970d0253041d0de6677b26f125e2e53bc893a2f54b4184bf24250a144cadfe/main.spi
00:09:00 verbose #17199 > >
00:09:00 verbose #17200 > > ╭─[ 101.51ms - stdout ]────────────────────────────────────────────────────────╮
00:09:00 verbose #17201 > > │ assert_eq / actual: struct (0.2, 0.4, 0.6) / expected: struct (0.2, 0.4, │
00:09:00 verbose #17202 > > │ 0.6) │
00:09:00 verbose #17203 > > │ │
00:09:00 verbose #17204 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17205 > >
00:09:00 verbose #17206 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:00 verbose #17207 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:00 verbose #17208 > > │ ### negate_vec │
00:09:00 verbose #17209 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:00 verbose #17210 > >
00:09:00 verbose #17211 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:00 verbose #17212 > > inl negate_vec v =
00:09:00 verbose #17213 > > v ^* -1
00:09:00 verbose #17214 > 00:09:00 debug #848 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a6ea033dfe47414f771f21967c16537726a5efb06d1305275dd8f0440bf6dfa9/main.spi
00:09:01 verbose #17215 > >
00:09:01 verbose #17216 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17217 > > //// test
00:09:01 verbose #17218 > >
00:09:01 verbose #17219 > > vec 1 2 3
00:09:01 verbose #17220 > > |> negate_vec
00:09:01 verbose #17221 > > |> _assert_eq (vec -1 -2 -3)
00:09:01 verbose #17222 > 00:09:00 debug #849 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fc19bc7260b9252b38bcacb79d37d5dac62a4ebd86518e6d1ff772b7db57291d/main.spi
00:09:01 verbose #17223 > >
00:09:01 verbose #17224 > > ╭─[ 94.87ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:01 verbose #17225 > > │ assert_eq / actual: struct (-1.0, -2.0, -3.0) / expected: struct (-1.0, │
00:09:01 verbose #17226 > > │ -2.0, -3.0) │
00:09:01 verbose #17227 > > │ │
00:09:01 verbose #17228 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17229 > >
00:09:01 verbose #17230 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:01 verbose #17231 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:01 verbose #17232 > > │ ### ^-^ │
00:09:01 verbose #17233 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17234 > >
00:09:01 verbose #17235 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17236 > > inl (^-^) a b =
00:09:01 verbose #17237 > > a ^+^ (negate_vec b)
00:09:01 verbose #17238 > 00:09:00 debug #850 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/afeeecfbcdfbebe918cf7117e153fcfee56e7d53dd595831e622df083b595f7b/main.spi
00:09:01 verbose #17239 > >
00:09:01 verbose #17240 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17241 > > //// test
00:09:01 verbose #17242 > >
00:09:01 verbose #17243 > > vec 1 2 3 ^-^ vec 4 5 6
00:09:01 verbose #17244 > > |> _assert_eq (vec -3 -3 -3)
00:09:01 verbose #17245 > 00:09:00 debug #851 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ab8a5da4aa1ddc22c0dd4aaab621f8181ef124003e71456122c8560d8d5b5bdc/main.spi
00:09:01 verbose #17246 > >
00:09:01 verbose #17247 > > ╭─[ 118.37ms - stdout ]────────────────────────────────────────────────────────╮
00:09:01 verbose #17248 > > │ assert_eq / actual: struct (-3.0, -3.0, -3.0) / expected: struct (-3.0, │
00:09:01 verbose #17249 > > │ -3.0, -3.0) │
00:09:01 verbose #17250 > > │ │
00:09:01 verbose #17251 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17252 > >
00:09:01 verbose #17253 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:01 verbose #17254 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:01 verbose #17255 > > │ ### <.> │
00:09:01 verbose #17256 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17257 > >
00:09:01 verbose #17258 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17259 > > inl (<.>) { x = ax y = ay z = az } { x = bx y = by z = bz } =
00:09:01 verbose #17260 > > ax * bx + ay * by + az * bz
00:09:01 verbose #17261 > 00:09:00 debug #852 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ec04c651c301c7681b3b44260b7f55a0cd417edd696ac1c69341bae3af36dd78/main.spi
00:09:01 verbose #17262 > >
00:09:01 verbose #17263 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17264 > > //// test
00:09:01 verbose #17265 > >
00:09:01 verbose #17266 > > vec 1 2 3 <.> vec 4 5 6
00:09:01 verbose #17267 > > |> _assert_eq 32
00:09:01 verbose #17268 > 00:09:01 debug #853 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4277cfec6d37ab2a81b7b65a0b92c75a361d5a891b9fb0ad639e7e877ea9ab21/main.spi
00:09:01 verbose #17269 > >
00:09:01 verbose #17270 > > ╭─[ 113.77ms - stdout ]────────────────────────────────────────────────────────╮
00:09:01 verbose #17271 > > │ assert_eq / actual: 32.0 / expected: 32.0 │
00:09:01 verbose #17272 > > │ │
00:09:01 verbose #17273 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17274 > >
00:09:01 verbose #17275 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:01 verbose #17276 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:01 verbose #17277 > > │ ### \>\< │
00:09:01 verbose #17278 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17279 > >
00:09:01 verbose #17280 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17281 > > inl (><) (a : vec) (b : vec) =
00:09:01 verbose #17282 > > vec
00:09:01 verbose #17283 > > (a.y * b.z - a.z * b.y)
00:09:01 verbose #17284 > > (a.z * b.x - a.x * b.z)
00:09:01 verbose #17285 > > (a.x * b.y - a.y * b.x)
00:09:01 verbose #17286 > 00:09:01 debug #854 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4c151155d419a480945cfa767fed1db0f41cfb6c4a96a2e48f065a3109338c0b/main.spi
00:09:01 verbose #17287 > >
00:09:01 verbose #17288 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17289 > > //// test
00:09:01 verbose #17290 > >
00:09:01 verbose #17291 > > vec 1 2 3 >< vec 4 5 6
00:09:01 verbose #17292 > > |> _assert_eq (vec -3 6 -3)
00:09:01 verbose #17293 > 00:09:01 debug #855 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8463f0f6133365db79de343a6b3d4e9950df0f850ca67b9816c82f391f584c88/main.spi
00:09:01 verbose #17294 > >
00:09:01 verbose #17295 > > ╭─[ 88.40ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:01 verbose #17296 > > │ assert_eq / actual: struct (-3.0, 6.0, -3.0) / expected: struct (-3.0, 6.0, │
00:09:01 verbose #17297 > > │ -3.0) │
00:09:01 verbose #17298 > > │ │
00:09:01 verbose #17299 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17300 > >
00:09:01 verbose #17301 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:01 verbose #17302 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:01 verbose #17303 > > │ ### magnitude │
00:09:01 verbose #17304 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17305 > >
00:09:01 verbose #17306 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17307 > > inl magnitude v =
00:09:01 verbose #17308 > > v <.> v |> sqrt
00:09:01 verbose #17309 > 00:09:01 debug #856 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/58343146cce3780e19271b5a607f8f06013ba49f67fa23c10238c949c63a7abc/main.spi
00:09:01 verbose #17310 > >
00:09:01 verbose #17311 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17312 > > //// test
00:09:01 verbose #17313 > >
00:09:01 verbose #17314 > > vec 1 2 3
00:09:01 verbose #17315 > > |> magnitude
00:09:01 verbose #17316 > > |> _assert_approx_eq None 3.7416573867739413
00:09:01 verbose #17317 > 00:09:01 debug #857 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2a585711bba04a3594744c83eb7b037dff3f160ba6c7445f586a4ce9e3464950/main.spi
00:09:01 verbose #17318 > >
00:09:01 verbose #17319 > > ╭─[ 88.22ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:01 verbose #17320 > > │ assert_approx_eq / actual: 3.741657387 / expected: 3.741657387 │
00:09:01 verbose #17321 > > │ │
00:09:01 verbose #17322 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17323 > >
00:09:01 verbose #17324 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:01 verbose #17325 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:01 verbose #17326 > > │ ### v1 │
00:09:01 verbose #17327 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:01 verbose #17328 > >
00:09:01 verbose #17329 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:01 verbose #17330 > > inl v1 t =
00:09:01 verbose #17331 > > 2 *^ (t ** 2 *^ i_hat () ^+^ 3 *^ (t ** 3 *^ j_hat () ^+^ t ** 4 *^ k_hat
00:09:01 verbose #17332 > > ()))
00:09:01 verbose #17333 > 00:09:01 debug #858 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2929d0206ef388c6a7188f4d796481a0bfc33354eb9655ceb9f4b4f4999bf5a8/main.spi
00:09:02 verbose #17334 > >
00:09:02 verbose #17335 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:02 verbose #17336 > > //// test
00:09:02 verbose #17337 > >
00:09:02 verbose #17338 > > v1 1
00:09:02 verbose #17339 > > |> _assert_eq (vec 2 6 6)
00:09:02 verbose #17340 > 00:09:01 debug #859 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/16467cb48c164c95f5da320fce9968b37d2a60f58d9dd2dfb5ab420985430b60/main.spi
00:09:02 verbose #17341 > >
00:09:02 verbose #17342 > > ╭─[ 94.14ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:02 verbose #17343 > > │ assert_eq / actual: struct (2.0, 6.0, 6.0) / expected: struct (2.0, 6.0, │
00:09:02 verbose #17344 > > │ 6.0) │
00:09:02 verbose #17345 > > │ │
00:09:02 verbose #17346 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:02 verbose #17347 > >
00:09:02 verbose #17348 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:02 verbose #17349 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:02 verbose #17350 > > │ ### vec_derivative │
00:09:02 verbose #17351 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:02 verbose #17352 > >
00:09:02 verbose #17353 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:02 verbose #17354 > > type vec_derivative = (f64 -> vec) -> f64 -> vec
00:09:02 verbose #17355 > >
00:09:02 verbose #17356 > > inl vec_derivative dt : vec_derivative =
00:09:02 verbose #17357 > > fun v t =>
00:09:02 verbose #17358 > > (v (t + dt / 2) ^-^ v (t - dt / 2)) ^/ dt
00:09:02 verbose #17359 > 00:09:01 debug #860 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/23c9250558585ed7b5f030801867ddd46918ddfa67e581306e5cb9ba2c457195/main.spi
00:09:02 verbose #17360 > >
00:09:02 verbose #17361 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:02 verbose #17362 > > //// test
00:09:02 verbose #17363 > >
00:09:02 verbose #17364 > > vec_derivative 0.01 v1 3 .x
00:09:02 verbose #17365 > > |> _assert_approx_eq None (derivative 0.01 (v1 >> fun v => v.x) 3)
00:09:02 verbose #17366 > 00:09:01 debug #861 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/73c2bcc8c26651f6453a7dcff7d7832050589ec7c493e993ec648dcb440b0e48/main.spi
00:09:02 verbose #17367 > >
00:09:02 verbose #17368 > > ╭─[ 91.27ms - stdout ]─────────────────────────────────────────────────────────╮
00:09:02 verbose #17369 > > │ assert_approx_eq / actual: 12.0 / expected: 12.0 │
00:09:02 verbose #17370 > > │ │
00:09:02 verbose #17371 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:02 verbose #17372 > >
00:09:02 verbose #17373 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:02 verbose #17374 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:02 verbose #17375 > > │ ## states_ps │
00:09:02 verbose #17376 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:02 verbose #17377 > >
00:09:02 verbose #17378 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:02 verbose #17379 > > nominal particle_state =
00:09:02 verbose #17380 > > {
00:09:02 verbose #17381 > > mass : f64
00:09:02 verbose #17382 > > charge : f64
00:09:02 verbose #17383 > > time : f64
00:09:02 verbose #17384 > > pos_vec : vec
00:09:02 verbose #17385 > > velocity : vec
00:09:02 verbose #17386 > > }
00:09:02 verbose #17387 > >
00:09:02 verbose #17388 > > inl default_particle_state () : particle_state =
00:09:02 verbose #17389 > > particle_state {
00:09:02 verbose #17390 > > mass = 1
00:09:02 verbose #17391 > > charge = 0
00:09:02 verbose #17392 > > time = 0
00:09:02 verbose #17393 > > pos_vec = zero_vec ()
00:09:02 verbose #17394 > > velocity = zero_vec ()
00:09:02 verbose #17395 > > }
00:09:02 verbose #17396 > >
00:09:02 verbose #17397 > > type one_body_force = particle_state -> vec
00:09:02 verbose #17398 > >
00:09:02 verbose #17399 > > nominal d_particle_state =
00:09:02 verbose #17400 > > {
00:09:02 verbose #17401 > > dmdt : f64
00:09:02 verbose #17402 > > dqdt : f64
00:09:02 verbose #17403 > > dtdt : f64
00:09:02 verbose #17404 > > drdt : vec
00:09:02 verbose #17405 > > dvdt : vec
00:09:02 verbose #17406 > > }
00:09:02 verbose #17407 > >
00:09:02 verbose #17408 > > inl newton_second_ps (fs : list one_body_force) (st : particle_state) :
00:09:02 verbose #17409 > > d_particle_state =
00:09:02 verbose #17410 > > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
00:09:02 verbose #17411 > > d_particle_state {
00:09:02 verbose #17412 > > dmdt = 0
00:09:02 verbose #17413 > > dqdt = 0
00:09:02 verbose #17414 > > dtdt = 1
00:09:02 verbose #17415 > > drdt = st.velocity
00:09:02 verbose #17416 > > dvdt = f_net ^/ st.mass
00:09:02 verbose #17417 > > }
00:09:02 verbose #17418 > >
00:09:02 verbose #17419 > > inl earth_surface_gravity (st : particle_state) =
00:09:02 verbose #17420 > > inl g = 9.80665
00:09:02 verbose #17421 > > -st.mass * g *^ k_hat ()
00:09:02 verbose #17422 > >
00:09:02 verbose #17423 > > inl air_resistance drag rho area (st : particle_state) =
00:09:02 verbose #17424 > > -0.5 * drag * rho * area * magnitude st.velocity *^ st.velocity
00:09:02 verbose #17425 > >
00:09:02 verbose #17426 > > inl euler_cromer_ps dt (deriv : particle_state -> d_particle_state)
00:09:02 verbose #17427 > > (particle_state st) =
00:09:02 verbose #17428 > > inl dst : d_particle_state = deriv (particle_state st)
00:09:02 verbose #17429 > > inl v' = st.velocity ^+^ dst.dvdt ^* dt
00:09:02 verbose #17430 > > particle_state { st with
00:09:02 verbose #17431 > > time = st.time + dt
00:09:02 verbose #17432 > > pos_vec = st.pos_vec ^+^ v' ^* dt
00:09:02 verbose #17433 > > velocity = st.velocity ^+^ dst.dvdt ^* dt
00:09:02 verbose #17434 > > }
00:09:02 verbose #17435 > >
00:09:02 verbose #17436 > > instance (+++) d_particle_state = fun (dps : d_particle_state) (dps' :
00:09:02 verbose #17437 > > d_particle_state) =>
00:09:02 verbose #17438 > > d_particle_state {
00:09:02 verbose #17439 > > dmdt = dps.dmdt + dps'.dmdt
00:09:02 verbose #17440 > > dqdt = dps.dqdt + dps'.dqdt
00:09:02 verbose #17441 > > dtdt = dps.dtdt + dps'.dtdt
00:09:02 verbose #17442 > > drdt = dps.drdt ^+^ dps'.drdt
00:09:02 verbose #17443 > > dvdt = dps.dvdt ^+^ dps'.dvdt
00:09:02 verbose #17444 > > }
00:09:02 verbose #17445 > >
00:09:02 verbose #17446 > > instance scale d_particle_state = fun w (dps : d_particle_state) =>
00:09:02 verbose #17447 > > d_particle_state {
00:09:02 verbose #17448 > > dmdt = w * dps.dmdt
00:09:02 verbose #17449 > > dqdt = w * dps.dqdt
00:09:02 verbose #17450 > > dtdt = w * dps.dtdt
00:09:02 verbose #17451 > > drdt = w *^ dps.drdt
00:09:02 verbose #17452 > > dvdt = w *^ dps.dvdt
00:09:02 verbose #17453 > > }
00:09:02 verbose #17454 > >
00:09:02 verbose #17455 > > instance shift particle_state = fun dt dps (particle_state st) =>
00:09:02 verbose #17456 > > inl (d_particle_state dps) =
00:09:02 verbose #17457 > > real
00:09:02 verbose #17458 > > match dps with
00:09:02 verbose #17459 > > | d_particle_state _ => dps
00:09:02 verbose #17460 > > particle_state { st with
00:09:02 verbose #17461 > > time = st.time + dps.dtdt * dt
00:09:02 verbose #17462 > > pos_vec = st.pos_vec ^+^ dps.drdt ^* dt
00:09:02 verbose #17463 > > velocity = st.velocity ^+^ dps.dvdt ^* dt
00:09:02 verbose #17464 > > }
00:09:02 verbose #17465 > >
00:09:02 verbose #17466 > > inl states_ps (method : numerical_method particle_state d_particle_state) : _ ->
00:09:02 verbose #17467 > > _ -> i32 -> particle_state =
00:09:02 verbose #17468 > > newton_second_ps >> method >> seq.iterate_
00:09:02 verbose #17469 > >
00:09:02 verbose #17470 > > inl z_ge0 sts =
00:09:02 verbose #17471 > > sts
00:09:02 verbose #17472 > > |> seq.take_while_ (fun (particle_state st) _ => st.pos_vec.z >= 0)
00:09:02 verbose #17473 > >
00:09:02 verbose #17474 > > inl trajectory sts =
00:09:02 verbose #17475 > > sts |> listm.map (fun (particle_state st) => st.pos_vec.y, st.pos_vec.z)
00:09:02 verbose #17476 > 00:09:01 debug #862 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/948b8627693ce7e89e4f08c99e3e5b2c489d40703ec47d042d3dd90ba0f306f0/main.spi
00:09:02 verbose #17477 > >
00:09:02 verbose #17478 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:02 verbose #17479 > > //// test
00:09:02 verbose #17480 > >
00:09:02 verbose #17481 > > inl update_ps (method : numerical_method particle_state d_particle_state) =
00:09:02 verbose #17482 > > newton_second_ps >> method
00:09:02 verbose #17483 > >
00:09:02 verbose #17484 > > inl position_ps (method : numerical_method particle_state d_particle_state) fs
00:09:02 verbose #17485 > > st t =
00:09:02 verbose #17486 > > inl states : i32 -> particle_state = states_ps method fs st
00:09:02 verbose #17487 > > inl dt = (states 1).time - (states 0).time
00:09:02 verbose #17488 > > inl num_steps = t / dt |> math.round |> abs
00:09:02 verbose #17489 > > inl st1 = solver' method (newton_second_ps fs) st num_steps
00:09:02 verbose #17490 > > st1.pos_vec
00:09:02 verbose #17491 > >
00:09:02 verbose #17492 > > inl sun_gravity (st : particle_state) : vec =
00:09:02 verbose #17493 > > inl big_g = 0.0000000000667408
00:09:02 verbose #17494 > > inl sun_mass = 1988480000000000000000000000000
00:09:02 verbose #17495 > > -big_g * sun_mass * st.mass *^ st.pos_vec ^/ magnitude st.pos_vec ** 3
00:09:02 verbose #17496 > >
00:09:02 verbose #17497 > > inl wind_force v_wind drag rho area (st : particle_state) =
00:09:02 verbose #17498 > > inl v_rel = st.velocity ^-^ v_wind
00:09:02 verbose #17499 > > -0.5 * drag * rho * area * magnitude v_rel *^ v_rel
00:09:02 verbose #17500 > >
00:09:02 verbose #17501 > > inl rock_state () =
00:09:02 verbose #17502 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:02 verbose #17503 > > particle_state { default_particle_state' with
00:09:02 verbose #17504 > > mass = 2
00:09:02 verbose #17505 > > velocity = vec 3 0 4
00:09:02 verbose #17506 > > }
00:09:02 verbose #17507 > >
00:09:02 verbose #17508 > > inl halley_update dt =
00:09:02 verbose #17509 > > update_ps (euler_cromer_ps dt) [[ sun_gravity ]]
00:09:02 verbose #17510 > >
00:09:02 verbose #17511 > > inl halley_initial () =
00:09:02 verbose #17512 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:02 verbose #17513 > > particle_state { default_particle_state' with
00:09:02 verbose #17514 > > mass = 220000000000000
00:09:02 verbose #17515 > > pos_vec = 87660000000 *^ i_hat ()
00:09:02 verbose #17516 > > velocity = 54569 *^ j_hat ()
00:09:02 verbose #17517 > > }
00:09:02 verbose #17518 > 00:09:01 debug #863 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cd9eb5bd5a1f08407166cc1895baf5c59cfe9f190723dc6526fd30fb16b4a93a/main.spi
00:09:02 verbose #17519 > >
00:09:02 verbose #17520 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:02 verbose #17521 > > //// test
00:09:02 verbose #17522 > >
00:09:02 verbose #17523 > > inl baseball_forces () =
00:09:02 verbose #17524 > > inl area = pi * (0.074 / 2) ** 2
00:09:02 verbose #17525 > > [[
00:09:02 verbose #17526 > > earth_surface_gravity
00:09:02 verbose #17527 > > air_resistance 0.3 1.225 area
00:09:02 verbose #17528 > > ]]
00:09:02 verbose #17529 > >
00:09:02 verbose #17530 > > inl baseball_trajectory dt v0 theta_deg =
00:09:02 verbose #17531 > > inl theta_rad = theta_deg * pi / 180
00:09:02 verbose #17532 > > inl vy0 = v0 * cos theta_rad
00:09:02 verbose #17533 > > inl vz0 = v0 * sin theta_rad
00:09:02 verbose #17534 > > inl initial_state =
00:09:02 verbose #17535 > > particle_state {
00:09:02 verbose #17536 > > mass = 0.145
00:09:02 verbose #17537 > > charge = 0
00:09:02 verbose #17538 > > time = 0
00:09:02 verbose #17539 > > pos_vec = zero_vec ()
00:09:02 verbose #17540 > > velocity = vec 0 vy0 vz0
00:09:02 verbose #17541 > > }
00:09:02 verbose #17542 > > states_ps (euler_cromer_ps dt) (baseball_forces ()) initial_state
00:09:02 verbose #17543 > > >> Some
00:09:02 verbose #17544 > > |> z_ge0
00:09:02 verbose #17545 > > |> trajectory
00:09:02 verbose #17546 > >
00:09:02 verbose #17547 > > inl baseball_range dt v0 theta_deg =
00:09:02 verbose #17548 > > baseball_trajectory dt v0 theta_deg
00:09:02 verbose #17549 > > |> listm.fold (fun _ (y, _) => y) 0
00:09:02 verbose #17550 > >
00:09:02 verbose #17551 > > inl x : a _ f64 = am'.init_series 10 80 1
00:09:02 verbose #17552 > > inl y = x |> am.map (baseball_range 0.01 45)
00:09:02 verbose #17553 > > "range for a baseball hit at 45 m/s",
00:09:02 verbose #17554 > > "angle above horizontal (degrees)",
00:09:02 verbose #17555 > > "",
00:09:02 verbose #17556 > > ;[[ "horizontal range (m)", x, y ]]
00:09:02 verbose #17557 > 00:09:02 debug #864 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/51185d27d61b5fca2ace9c8a025bd1b306bcc97e98e626ceb85d4810025fbc07/main.spi
00:09:03 verbose #17558 > >
00:09:03 verbose #17559 > > ╭─[ 806.48ms - return value ]──────────────────────────────────────────────────╮
00:09:03 verbose #17560 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:09:03 verbose #17561 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:09:03 verbose #17562 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:09:03 verbose #17563 > > │ stroke="none"/> │
00:09:03 verbose #17564 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:09:03 verbose #17565 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:09:03 verbose #17566 > > │ fill="#FFFFFF"> │
00:09:03 verbose #17567 > > │ range for a baseball hit at 45 m/s │
00:09:03 verbose #17568 > > │ </text> │
00:09:03 verbose #17569 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="424" x2="55" │
00:09:03 verbose #17570 > > │ y2="75"/> │
00:09:03 verbose #17571 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
00:09:03 verbose #17572 > > │ y2="75"/> │
00:09:03 verbose #17573 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:09:03 verbose #17574 > > │ y2="75"/> │
00:09:03 verbose #17575 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
00:09:03 verbose #17576 > > │ y2="75"/> │
00:09:03 verbose #17577 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="84" y1="424" x2="84" │
00:09:03 verbose #17578 > > │ y2="75"/> │
00:09:03 verbose #17579 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="91" y1="424" x2="91" │
00:09:03 verbose #17580 > > │ y2="75"/> │
00:09:03 verbose #17581 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="98" y1="424" x2="98" │
00:09:03 verbose #17582 > > │ y2="75"/> │
00:09:03 verbose #17583 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424" │
00:09:03 verbose #17584 > > │ x2="105" y2="75"/> │
00:09:03 verbose #17585 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="112" y1="424" │
00:09:03 verbose #17586 > > │ x2="112" y2="75"/> │
00:09:03 verbose #17587 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:09:03 verbose #17588 > > │ x2="119" y2="75"/> │
00:09:03 verbose #17589 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="127" y1="424" │
00:09:03 verbose #17590 > > │ x2="127" y2="75"/> │
00:09:03 verbose #17591 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="134" y1="424" │
00:09:03 verbose #17592 > > │ x2="134" y2="75"/> │
00:09:03 verbose #17593 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424" │
00:09:03 verbose #17594 > > │ x2="141" y2="75"/> │
00:09:03 verbose #17595 > > │ <lin... │
00:09:03 verbose #17596 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:03 verbose #17597 > >
00:09:03 verbose #17598 > > ╭─[ 808.56ms - stdout ]────────────────────────────────────────────────────────╮
00:09:03 verbose #17599 > > │ 00:00:12 debug #31 execute_with_options_async / options: struct (Some │
00:09:03 verbose #17600 > > │ System.Threading.CancellationToken, │
00:09:03 verbose #17601 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:03 verbose #17602 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:03 verbose #17603 > > │ 00:00:12 verbose #32 > Creating │
00:09:03 verbose #17604 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/8a3ef6 │
00:09:03 verbose #17605 > > │ 7f953e2a32e5071e8c55259d45275b376bbff5ccca65f5dad1aeac78c0.svg │
00:09:03 verbose #17606 > > │ 00:00:12 debug #33 execute_with_options_async / exit_code: 0 / │
00:09:03 verbose #17607 > > │ output.Length: 147 │
00:09:03 verbose #17608 > > │ │
00:09:03 verbose #17609 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:03 verbose #17610 > >
00:09:03 verbose #17611 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:03 verbose #17612 > > //// test
00:09:03 verbose #17613 > >
00:09:03 verbose #17614 > > inl best_angle (min, max) =
00:09:03 verbose #17615 > > let rec loop theta_deg (best_range, best_theta_deg) =
00:09:03 verbose #17616 > > if theta_deg > max
00:09:03 verbose #17617 > > then best_range, best_theta_deg
00:09:03 verbose #17618 > > else
00:09:03 verbose #17619 > > inl range = baseball_range 0.01 45 theta_deg
00:09:03 verbose #17620 > > loop
00:09:03 verbose #17621 > > (theta_deg + 1)
00:09:03 verbose #17622 > > (if range > best_range
00:09:03 verbose #17623 > > then range, theta_deg
00:09:03 verbose #17624 > > else best_range, best_theta_deg)
00:09:03 verbose #17625 > > loop min (0f64, min)
00:09:03 verbose #17626 > >
00:09:03 verbose #17627 > > best_angle (30f64, 60f64)
00:09:03 verbose #17628 > > |> _assert_eq (116.77499158246208, 41)
00:09:03 verbose #17629 > 00:09:02 debug #865 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c8bcb71a2cb7305581e544b90b80f302cef2301bdc49575319ccbf94b35af334/main.spi
00:09:03 verbose #17630 > >
00:09:03 verbose #17631 > > ╭─[ 433.57ms - stdout ]────────────────────────────────────────────────────────╮
00:09:03 verbose #17632 > > │ assert_eq / actual: struct (116.7749916, 41.0) / expected: struct │
00:09:03 verbose #17633 > > │ (116.7749916, 41.0) │
00:09:03 verbose #17634 > > │ │
00:09:03 verbose #17635 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:03 verbose #17636 > >
00:09:03 verbose #17637 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:03 verbose #17638 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:03 verbose #17639 > > │ ## relativity_ps │
00:09:03 verbose #17640 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:03 verbose #17641 > >
00:09:03 verbose #17642 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:03 verbose #17643 > > inl relativity_ps fs (st : particle_state) =
00:09:03 verbose #17644 > > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
00:09:03 verbose #17645 > > inl c = 299792458
00:09:03 verbose #17646 > > inl u = st.velocity ^/ c
00:09:03 verbose #17647 > > inl acc = sqrt (1 - (u <.> u)) *^ (f_net ^-^ (f_net <.> u) *^ u) ^/ st.mass
00:09:03 verbose #17648 > > d_particle_state {
00:09:03 verbose #17649 > > dmdt = 0
00:09:03 verbose #17650 > > dqdt = 0
00:09:03 verbose #17651 > > dtdt = 1
00:09:03 verbose #17652 > > drdt = st.velocity
00:09:03 verbose #17653 > > dvdt = acc
00:09:03 verbose #17654 > > }
00:09:03 verbose #17655 > 00:09:03 debug #866 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8c129787aab44cfa5eebf5d78e7bbb92e3b566ed2b2302c2641c34e44eec028a/main.spi
00:09:03 verbose #17656 > >
00:09:03 verbose #17657 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:03 verbose #17658 > > //// test
00:09:03 verbose #17659 > >
00:09:03 verbose #17660 > > inl year = 365.25 * 24 * 60 * 60
00:09:03 verbose #17661 > > inl c = 299792458
00:09:03 verbose #17662 > > inl ~method = runge_kutta_4 100000
00:09:03 verbose #17663 > > inl forces = [[ fun _ => 10 *^ i_hat () ]]
00:09:03 verbose #17664 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:03 verbose #17665 > > inl initial_state =
00:09:03 verbose #17666 > > particle_state { default_particle_state' with
00:09:03 verbose #17667 > > mass = 1
00:09:03 verbose #17668 > > }
00:09:03 verbose #17669 > >
00:09:03 verbose #17670 > > inl newton_states = solver_ method (newton_second_ps forces) initial_state
00:09:03 verbose #17671 > > inl relativity_states = solver_ method (relativity_ps forces) initial_state
00:09:03 verbose #17672 > >
00:09:03 verbose #17673 > > inl newton_x, newton_y =
00:09:03 verbose #17674 > > newton_states
00:09:03 verbose #17675 > > >> Some
00:09:03 verbose #17676 > > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
00:09:03 verbose #17677 > > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
00:09:03 verbose #17678 > > |> listm'.unzip
00:09:03 verbose #17679 > >
00:09:03 verbose #17680 > > inl _, relativity_y =
00:09:03 verbose #17681 > > relativity_states
00:09:03 verbose #17682 > > >> Some
00:09:03 verbose #17683 > > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
00:09:03 verbose #17684 > > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
00:09:03 verbose #17685 > > |> listm'.unzip
00:09:03 verbose #17686 > >
00:09:03 verbose #17687 > > inl newton_x : a i32 _ = newton_x |> listm.toArray
00:09:03 verbose #17688 > > inl newton_y : a i32 _ = newton_y |> listm.toArray
00:09:03 verbose #17689 > > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
00:09:03 verbose #17690 > >
00:09:03 verbose #17691 > > "response to a constant force",
00:09:03 verbose #17692 > > "time (years)",
00:09:03 verbose #17693 > > "velocity (multiples of c)",
00:09:03 verbose #17694 > > ;[[
00:09:03 verbose #17695 > > "newtonian", newton_x, newton_y
00:09:03 verbose #17696 > > "relativistic", newton_x, relativity_y
00:09:03 verbose #17697 > > ]]
00:09:03 verbose #17698 > 00:09:03 debug #867 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/43bf7bd9468249761bb69d178c0b0ac5bba7061a0ce67cf3003c9a6b37dff04c/main.spi
00:09:04 verbose #17699 > >
00:09:04 verbose #17700 > > ╭─[ 412.30ms - return value ]──────────────────────────────────────────────────╮
00:09:04 verbose #17701 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:09:04 verbose #17702 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:09:04 verbose #17703 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:09:04 verbose #17704 > > │ stroke="none"/> │
00:09:04 verbose #17705 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:09:04 verbose #17706 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:09:04 verbose #17707 > > │ fill="#FFFFFF"> │
00:09:04 verbose #17708 > > │ response to a constant force │
00:09:04 verbose #17709 > > │ </text> │
00:09:04 verbose #17710 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:09:04 verbose #17711 > > │ y2="75"/> │
00:09:04 verbose #17712 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:09:04 verbose #17713 > > │ y2="75"/> │
00:09:04 verbose #17714 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:09:04 verbose #17715 > > │ y2="75"/> │
00:09:04 verbose #17716 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:09:04 verbose #17717 > > │ y2="75"/> │
00:09:04 verbose #17718 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
00:09:04 verbose #17719 > > │ y2="75"/> │
00:09:04 verbose #17720 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
00:09:04 verbose #17721 > > │ x2="109" y2="75"/> │
00:09:04 verbose #17722 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:09:04 verbose #17723 > > │ x2="119" y2="75"/> │
00:09:04 verbose #17724 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:09:04 verbose #17725 > > │ x2="129" y2="75"/> │
00:09:04 verbose #17726 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:09:04 verbose #17727 > > │ x2="139" y2="75"/> │
00:09:04 verbose #17728 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
00:09:04 verbose #17729 > > │ x2="149" y2="75"/> │
00:09:04 verbose #17730 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
00:09:04 verbose #17731 > > │ x2="159" y2="75"/> │
00:09:04 verbose #17732 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:09:04 verbose #17733 > > │ x2="169" y2="75"/> │
00:09:04 verbose #17734 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
00:09:04 verbose #17735 > > │ x2="179" y2="75"/> │
00:09:04 verbose #17736 > > │ <line ... │
00:09:04 verbose #17737 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:04 verbose #17738 > >
00:09:04 verbose #17739 > > ╭─[ 413.41ms - stdout ]────────────────────────────────────────────────────────╮
00:09:04 verbose #17740 > > │ 00:00:13 debug #34 execute_with_options_async / options: struct (Some │
00:09:04 verbose #17741 > > │ System.Threading.CancellationToken, │
00:09:04 verbose #17742 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:04 verbose #17743 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:04 verbose #17744 > > │ 00:00:13 verbose #35 > Creating │
00:09:04 verbose #17745 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/5e278a │
00:09:04 verbose #17746 > > │ 736af1809d8dcdc13453b35993d336214d079bbcd9b2cf063181d8e59d.svg │
00:09:04 verbose #17747 > > │ 00:00:13 debug #36 execute_with_options_async / exit_code: 0 / │
00:09:04 verbose #17748 > > │ output.Length: 147 │
00:09:04 verbose #17749 > > │ │
00:09:04 verbose #17750 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:04 verbose #17751 > >
00:09:04 verbose #17752 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:04 verbose #17753 > > inl uniform_lorentz_force v_e v_b (st : particle_state) =
00:09:04 verbose #17754 > > st.charge *^ (v_e ^+^ st.velocity >< v_b)
00:09:04 verbose #17755 > 00:09:03 debug #868 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2dfb6aee8dae97997d1f8ed57ee142b2b613a6c6e5ae92f5797a53bff351930c/main.spi
00:09:04 verbose #17756 > >
00:09:04 verbose #17757 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:04 verbose #17758 > > //// test
00:09:04 verbose #17759 > >
00:09:04 verbose #17760 > > inl c : f64 = 299792458
00:09:04 verbose #17761 > > inl ~method = runge_kutta_4 0.000000001
00:09:04 verbose #17762 > > inl forces = [[ uniform_lorentz_force (zero_vec ()) (k_hat ()) ]]
00:09:04 verbose #17763 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:04 verbose #17764 > > inl initial_state =
00:09:04 verbose #17765 > > particle_state { default_particle_state' with
00:09:04 verbose #17766 > > mass = 0.000000000000000000000000001672621898
00:09:04 verbose #17767 > > charge = 0.0000000000000000001602176621
00:09:04 verbose #17768 > > velocity = 0.8 *^ (c *^ j_hat ())
00:09:04 verbose #17769 > > }
00:09:04 verbose #17770 > >
00:09:04 verbose #17771 > > inl newton_states = solver_ method (newton_second_ps forces) initial_state
00:09:04 verbose #17772 > > inl relativity_states = solver_ method (relativity_ps forces) initial_state
00:09:04 verbose #17773 > >
00:09:04 verbose #17774 > > inl newton_x, newton_y =
00:09:04 verbose #17775 > > newton_states
00:09:04 verbose #17776 > > >> Some
00:09:04 verbose #17777 > > |> seq.take_while_ (fun (particle_state st) i => i < 100i32)
00:09:04 verbose #17778 > > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
00:09:04 verbose #17779 > > |> listm'.unzip
00:09:04 verbose #17780 > >
00:09:04 verbose #17781 > > inl relativity_x, relativity_y =
00:09:04 verbose #17782 > > relativity_states
00:09:04 verbose #17783 > > >> Some
00:09:04 verbose #17784 > > |> seq.take_while_ (fun (particle_state st) i => i < 165i32)
00:09:04 verbose #17785 > > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
00:09:04 verbose #17786 > > |> listm'.unzip
00:09:04 verbose #17787 > >
00:09:04 verbose #17788 > > inl newton_x : a i32 _ = newton_x |> listm.toArray
00:09:04 verbose #17789 > > inl newton_y : a i32 _ = newton_y |> listm.toArray
00:09:04 verbose #17790 > >
00:09:04 verbose #17791 > > inl relativity_x : a i32 _ = relativity_x |> listm.toArray
00:09:04 verbose #17792 > > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
00:09:04 verbose #17793 > >
00:09:04 verbose #17794 > > "proton in a 1-t magnetic field",
00:09:04 verbose #17795 > > "x (m)",
00:09:04 verbose #17796 > > "y (m)",
00:09:04 verbose #17797 > > ;[[
00:09:04 verbose #17798 > > "newtonian", newton_x, newton_y
00:09:04 verbose #17799 > > "relativistic", relativity_x, relativity_y
00:09:04 verbose #17800 > > ]]
00:09:04 verbose #17801 > 00:09:03 debug #869 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/64d4236b91e98ee6b023fbcc39df17659bd4166a8d1fde98dfe4a59dab300f8e/main.spi
00:09:04 verbose #17802 > >
00:09:04 verbose #17803 > > ╭─[ 363.50ms - return value ]──────────────────────────────────────────────────╮
00:09:04 verbose #17804 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:09:04 verbose #17805 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:09:04 verbose #17806 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:09:04 verbose #17807 > > │ stroke="none"/> │
00:09:04 verbose #17808 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:09:04 verbose #17809 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:09:04 verbose #17810 > > │ fill="#FFFFFF"> │
00:09:04 verbose #17811 > > │ proton in a 1-t magnetic field │
00:09:04 verbose #17812 > > │ </text> │
00:09:04 verbose #17813 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="58" y1="424" x2="58" │
00:09:04 verbose #17814 > > │ y2="75"/> │
00:09:04 verbose #17815 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:09:04 verbose #17816 > > │ y2="75"/> │
00:09:04 verbose #17817 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="81" y1="424" x2="81" │
00:09:04 verbose #17818 > > │ y2="75"/> │
00:09:04 verbose #17819 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
00:09:04 verbose #17820 > > │ y2="75"/> │
00:09:04 verbose #17821 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424" │
00:09:04 verbose #17822 > > │ x2="105" y2="75"/> │
00:09:04 verbose #17823 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="117" y1="424" │
00:09:04 verbose #17824 > > │ x2="117" y2="75"/> │
00:09:04 verbose #17825 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:09:04 verbose #17826 > > │ x2="129" y2="75"/> │
00:09:04 verbose #17827 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424" │
00:09:04 verbose #17828 > > │ x2="141" y2="75"/> │
00:09:04 verbose #17829 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
00:09:04 verbose #17830 > > │ x2="153" y2="75"/> │
00:09:04 verbose #17831 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="165" y1="424" │
00:09:04 verbose #17832 > > │ x2="165" y2="75"/> │
00:09:04 verbose #17833 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424" │
00:09:04 verbose #17834 > > │ x2="177" y2="75"/> │
00:09:04 verbose #17835 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
00:09:04 verbose #17836 > > │ x2="189" y2="75"/> │
00:09:04 verbose #17837 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="201" y1="424" │
00:09:04 verbose #17838 > > │ x2="201" y2="75"/> │
00:09:04 verbose #17839 > > │ <l... │
00:09:04 verbose #17840 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:04 verbose #17841 > >
00:09:04 verbose #17842 > > ╭─[ 364.46ms - stdout ]────────────────────────────────────────────────────────╮
00:09:04 verbose #17843 > > │ 00:00:13 debug #37 execute_with_options_async / options: struct (Some │
00:09:04 verbose #17844 > > │ System.Threading.CancellationToken, │
00:09:04 verbose #17845 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:04 verbose #17846 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:04 verbose #17847 > > │ 00:00:13 verbose #38 > Creating │
00:09:04 verbose #17848 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/bb8f45 │
00:09:04 verbose #17849 > > │ eff587eeea2eba0bc2ee5a7127055bf92453772b584569d1b580f6f89c.svg │
00:09:04 verbose #17850 > > │ 00:00:13 debug #39 execute_with_options_async / exit_code: 0 / │
00:09:04 verbose #17851 > > │ output.Length: 147 │
00:09:04 verbose #17852 > > │ │
00:09:04 verbose #17853 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:04 verbose #17854 > >
00:09:04 verbose #17855 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:04 verbose #17856 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:04 verbose #17857 > > │ ### system kinetic energy versus time 1 │
00:09:04 verbose #17858 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:04 verbose #17859 > >
00:09:04 verbose #17860 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:04 verbose #17861 > > //// test
00:09:04 verbose #17862 > >
00:09:04 verbose #17863 > > inl central_force f (particle_state st1) (particle_state st2) =
00:09:04 verbose #17864 > > inl r1 = st1.pos_vec
00:09:04 verbose #17865 > > inl r2 = st2.pos_vec
00:09:04 verbose #17866 > > inl r21 = r2 ^-^ r1
00:09:04 verbose #17867 > > inl r21mag = magnitude r21
00:09:04 verbose #17868 > > f r21mag *^ r21 ^/ r21mag
00:09:04 verbose #17869 > >
00:09:04 verbose #17870 > > inl billiard_force k re =
00:09:04 verbose #17871 > > inl f r =
00:09:04 verbose #17872 > > if r >= re
00:09:04 verbose #17873 > > then 0
00:09:04 verbose #17874 > > else -k * (r - re)
00:09:04 verbose #17875 > > central_force f
00:09:04 verbose #17876 > >
00:09:04 verbose #17877 > > type force_vector = vec
00:09:04 verbose #17878 > > type two_body_force = particle_state -> particle_state -> force_vector
00:09:04 verbose #17879 > >
00:09:04 verbose #17880 > > union force =
00:09:04 verbose #17881 > > | ExternalForce : i32 * one_body_force
00:09:04 verbose #17882 > > | InternalForce : i32 * i32 * two_body_force
00:09:04 verbose #17883 > >
00:09:04 verbose #17884 > > nominal multi_particle_state = list particle_state
00:09:04 verbose #17885 > >
00:09:04 verbose #17886 > > nominal d_multi_particle_state = list d_particle_state
00:09:04 verbose #17887 > >
00:09:04 verbose #17888 > > inl force_on n sts force =
00:09:04 verbose #17889 > > match force with
00:09:04 verbose #17890 > > | ExternalForce (n0, f_one_body) =>
00:09:04 verbose #17891 > > if n = n0
00:09:04 verbose #17892 > > then f_one_body
00:09:04 verbose #17893 > > else fun _ => zero_vec ()
00:09:04 verbose #17894 > > | InternalForce (n0, n1, f_two_body) =>
00:09:04 verbose #17895 > > if n = n0
00:09:04 verbose #17896 > > then f_two_body (sts |> listm'.item n1)
00:09:04 verbose #17897 > > elif n = n1
00:09:04 verbose #17898 > > then f_two_body (sts |> listm'.item n0)
00:09:04 verbose #17899 > > else fun _ => zero_vec ()
00:09:04 verbose #17900 > >
00:09:04 verbose #17901 > > inl forces_on n (multi_particle_state sts) fs =
00:09:04 verbose #17902 > > fs |> listm.map (force_on n sts)
00:09:04 verbose #17903 > >
00:09:04 verbose #17904 > > inl newton_second_mps fs (multi_particle_state sts) : d_multi_particle_state =
00:09:04 verbose #17905 > > inl deriv (n, st) =
00:09:04 verbose #17906 > > newton_second_ps (forces_on n (multi_particle_state sts) fs) st
00:09:04 verbose #17907 > > sts |> listm'.indexed |> listm.map deriv |> d_multi_particle_state
00:09:04 verbose #17908 > >
00:09:04 verbose #17909 > > instance (+++) d_multi_particle_state = fun (d_multi_particle_state dsts1)
00:09:04 verbose #17910 > > (d_multi_particle_state dsts2) =>
00:09:04 verbose #17911 > > d_multi_particle_state (listm'.zip_with_ (+++) dsts1 dsts2)
00:09:04 verbose #17912 > >
00:09:04 verbose #17913 > > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) =>
00:09:04 verbose #17914 > > d_multi_particle_state (dsts |> listm.map (scale w))
00:09:04 verbose #17915 > >
00:09:04 verbose #17916 > > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) =>
00:09:04 verbose #17917 > > inl (d_multi_particle_state dsts) =
00:09:04 verbose #17918 > > real
00:09:04 verbose #17919 > > match dsts with
00:09:04 verbose #17920 > > | d_multi_particle_state _ => dsts
00:09:04 verbose #17921 > > listm'.zip_with_ (shift dt) dsts sts |> multi_particle_state
00:09:04 verbose #17922 > >
00:09:04 verbose #17923 > > inl euler_cromer_mps dt : numerical_method multi_particle_state
00:09:04 verbose #17924 > > d_multi_particle_state =
00:09:04 verbose #17925 > > fun deriv mpst0 =>
00:09:04 verbose #17926 > > inl mpst1 = euler dt deriv mpst0
00:09:04 verbose #17927 > > inl (multi_particle_state sts0) = mpst0
00:09:04 verbose #17928 > > inl (multi_particle_state sts1) = mpst1
00:09:04 verbose #17929 > > sts1
00:09:04 verbose #17930 > > |> listm'.zip_ sts0
00:09:04 verbose #17931 > > |> listm.map (fun ((particle_state st0), (particle_state st1)) =>
00:09:04 verbose #17932 > > particle_state {
00:09:04 verbose #17933 > > st1 with
00:09:04 verbose #17934 > > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt
00:09:04 verbose #17935 > > }
00:09:04 verbose #17936 > > )
00:09:04 verbose #17937 > > |> multi_particle_state
00:09:04 verbose #17938 > >
00:09:04 verbose #17939 > > inl update_mps (method : numerical_method multi_particle_state
00:09:04 verbose #17940 > > d_multi_particle_state) =
00:09:04 verbose #17941 > > newton_second_mps >> method
00:09:04 verbose #17942 > >
00:09:04 verbose #17943 > > inl states_mps (method : numerical_method multi_particle_state
00:09:04 verbose #17944 > > d_multi_particle_state) =
00:09:04 verbose #17945 > > newton_second_mps >> method >> seq.iterate_
00:09:04 verbose #17946 > >
00:09:04 verbose #17947 > >
00:09:04 verbose #17948 > > inl kinetic_energy (particle_state st) =
00:09:04 verbose #17949 > > inl m = st.mass
00:09:04 verbose #17950 > > inl v = magnitude st.velocity
00:09:04 verbose #17951 > > 0.5 * m * v ** 2
00:09:04 verbose #17952 > >
00:09:04 verbose #17953 > > inl system_ke (multi_particle_state sts) =
00:09:04 verbose #17954 > > sts |> listm.map kinetic_energy |> listm'.sum
00:09:04 verbose #17955 > >
00:09:04 verbose #17956 > > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =
00:09:04 verbose #17957 > > inl r1 = st1.pos_vec
00:09:04 verbose #17958 > > inl r2 = st2.pos_vec
00:09:04 verbose #17959 > > inl r21 = r2 ^-^ r1
00:09:04 verbose #17960 > > inl r21mag = magnitude r21
00:09:04 verbose #17961 > > k * (r21mag - re) ** 2 / 2
00:09:04 verbose #17962 > >
00:09:04 verbose #17963 > > inl earth_surface_gravity_pe (particle_state st) =
00:09:04 verbose #17964 > > inl g = 9.80665
00:09:04 verbose #17965 > > inl m = st.mass
00:09:04 verbose #17966 > > inl z = st.pos_vec.z
00:09:04 verbose #17967 > > m * g * z
00:09:04 verbose #17968 > >
00:09:04 verbose #17969 > > inl two_springs_pe (multi_particle_state sts) =
00:09:04 verbose #17970 > > inl st0 = sts |> listm'.item 0i32
00:09:04 verbose #17971 > > inl st1 = sts |> listm'.item 1i32
00:09:04 verbose #17972 > > linear_spring_pe 100 0.5 (default_particle_state ()) st0
00:09:04 verbose #17973 > > + linear_spring_pe 100 0.5 st0 st1
00:09:04 verbose #17974 > > + earth_surface_gravity_pe st0
00:09:04 verbose #17975 > > + earth_surface_gravity_pe st1
00:09:04 verbose #17976 > >
00:09:04 verbose #17977 > > inl two_springs_me mpst =
00:09:04 verbose #17978 > > system_ke mpst + two_springs_pe mpst
00:09:04 verbose #17979 > >
00:09:04 verbose #17980 > > inl ball_radius () = 0.03
00:09:04 verbose #17981 > >
00:09:04 verbose #17982 > > inl billiard_forces k =
00:09:04 verbose #17983 > > [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]]
00:09:04 verbose #17984 > >
00:09:04 verbose #17985 > > inl billiard_update n_method k dt =
00:09:04 verbose #17986 > > update_mps (n_method dt) (billiard_forces k)
00:09:04 verbose #17987 > >
00:09:04 verbose #17988 > > inl billiard_initial () =
00:09:04 verbose #17989 > > inl ball_mass = 0.160
00:09:04 verbose #17990 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:04 verbose #17991 > > multi_particle_state [[
00:09:04 verbose #17992 > > particle_state {
00:09:04 verbose #17993 > > default_particle_state' with
00:09:04 verbose #17994 > > mass = ball_mass
00:09:04 verbose #17995 > > pos_vec = zero_vec ()
00:09:04 verbose #17996 > > velocity = 0.2 *^ i_hat ()
00:09:04 verbose #17997 > > }
00:09:04 verbose #17998 > > particle_state {
00:09:04 verbose #17999 > > default_particle_state' with
00:09:04 verbose #18000 > > mass = ball_mass
00:09:04 verbose #18001 > > pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()
00:09:04 verbose #18002 > > velocity = zero_vec ()
00:09:04 verbose #18003 > > }
00:09:04 verbose #18004 > > ]]
00:09:04 verbose #18005 > >
00:09:04 verbose #18006 > > inl billiard_states ~n_method k dt =
00:09:04 verbose #18007 > > states_mps (n_method dt) (billiard_forces k) (billiard_initial ())
00:09:04 verbose #18008 > >
00:09:04 verbose #18009 > > inl billiard_states_finite n_method k dt =
00:09:04 verbose #18010 > > billiard_states n_method k dt
00:09:04 verbose #18011 > > >> Some
00:09:04 verbose #18012 > > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>
00:09:04 verbose #18013 > > (mpst |> listm'.item 0i32).time <= 10
00:09:04 verbose #18014 > > )
00:09:04 verbose #18015 > >
00:09:04 verbose #18016 > > inl momentum (particle_state st) =
00:09:04 verbose #18017 > > inl m = st.mass
00:09:04 verbose #18018 > > inl v = st.velocity
00:09:04 verbose #18019 > > m *^ v
00:09:04 verbose #18020 > >
00:09:04 verbose #18021 > > inl system_p (multi_particle_state sts) =
00:09:04 verbose #18022 > > sts |> listm.map momentum |> sum_vec
00:09:04 verbose #18023 > >
00:09:04 verbose #18024 > >
00:09:04 verbose #18025 > > inl time_ke_ec_x, time_ke_ec_y =
00:09:04 verbose #18026 > > billiard_states_finite euler_cromer_mps 30 0.03
00:09:04 verbose #18027 > > |> listm.map (fun (multi_particle_state mpst) =>
00:09:04 verbose #18028 > > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
00:09:04 verbose #18029 > > )
00:09:04 verbose #18030 > > |> listm'.unzip
00:09:04 verbose #18031 > >
00:09:04 verbose #18032 > > inl time_ke_rk4_x, time_ke_rk4_y =
00:09:04 verbose #18033 > > billiard_states_finite runge_kutta_4 30 0.03
00:09:04 verbose #18034 > > |> listm.map (fun (multi_particle_state mpst) =>
00:09:04 verbose #18035 > > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
00:09:04 verbose #18036 > > )
00:09:04 verbose #18037 > > |> listm'.unzip
00:09:04 verbose #18038 > >
00:09:04 verbose #18039 > > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray
00:09:04 verbose #18040 > > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray
00:09:04 verbose #18041 > >
00:09:04 verbose #18042 > > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray
00:09:04 verbose #18043 > > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray
00:09:04 verbose #18044 > >
00:09:04 verbose #18045 > > "system kinetic energy versus time",
00:09:04 verbose #18046 > > "time (s)",
00:09:04 verbose #18047 > > "system kinetic energy (j)",
00:09:04 verbose #18048 > > ;[[
00:09:04 verbose #18049 > > "euler-cromer", time_ke_ec_x, time_ke_ec_y
00:09:04 verbose #18050 > > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y
00:09:04 verbose #18051 > > ]]
00:09:04 verbose #18052 > 00:09:04 debug #870 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8d3074a94045072762c76fb6651dbe1224b593ea85e4b0650af960cd433e003e/main.spi
00:09:05 verbose #18053 > >
00:09:05 verbose #18054 > > ╭─[ 1.11s - return value ]─────────────────────────────────────────────────────╮
00:09:05 verbose #18055 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:09:05 verbose #18056 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:09:05 verbose #18057 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:09:05 verbose #18058 > > │ stroke="none"/> │
00:09:05 verbose #18059 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:09:05 verbose #18060 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:09:05 verbose #18061 > > │ fill="#FFFFFF"> │
00:09:05 verbose #18062 > > │ system kinetic energy versus time │
00:09:05 verbose #18063 > > │ </text> │
00:09:05 verbose #18064 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:09:05 verbose #18065 > > │ y2="75"/> │
00:09:05 verbose #18066 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:09:05 verbose #18067 > > │ y2="75"/> │
00:09:05 verbose #18068 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:09:05 verbose #18069 > > │ y2="75"/> │
00:09:05 verbose #18070 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:09:05 verbose #18071 > > │ y2="75"/> │
00:09:05 verbose #18072 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
00:09:05 verbose #18073 > > │ y2="75"/> │
00:09:05 verbose #18074 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
00:09:05 verbose #18075 > > │ x2="109" y2="75"/> │
00:09:05 verbose #18076 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:09:05 verbose #18077 > > │ x2="119" y2="75"/> │
00:09:05 verbose #18078 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:09:05 verbose #18079 > > │ x2="129" y2="75"/> │
00:09:05 verbose #18080 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:09:05 verbose #18081 > > │ x2="139" y2="75"/> │
00:09:05 verbose #18082 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
00:09:05 verbose #18083 > > │ x2="149" y2="75"/> │
00:09:05 verbose #18084 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
00:09:05 verbose #18085 > > │ x2="159" y2="75"/> │
00:09:05 verbose #18086 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:09:05 verbose #18087 > > │ x2="169" y2="75"/> │
00:09:05 verbose #18088 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
00:09:05 verbose #18089 > > │ x2="179" y2="75"/> │
00:09:05 verbose #18090 > > │ <... │
00:09:05 verbose #18091 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:05 verbose #18092 > >
00:09:05 verbose #18093 > > ╭─[ 1.11s - stdout ]───────────────────────────────────────────────────────────╮
00:09:05 verbose #18094 > > │ 00:00:15 debug #40 execute_with_options_async / options: struct (Some │
00:09:05 verbose #18095 > > │ System.Threading.CancellationToken, │
00:09:05 verbose #18096 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:05 verbose #18097 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:05 verbose #18098 > > │ 00:00:15 verbose #41 > Creating │
00:09:05 verbose #18099 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/6c2e10 │
00:09:05 verbose #18100 > > │ 892d6afcf0c02bfe44bc49895c6de5037e535b9df0fb226e37177775eb.svg │
00:09:05 verbose #18101 > > │ 00:00:15 debug #42 execute_with_options_async / exit_code: 0 / │
00:09:05 verbose #18102 > > │ output.Length: 147 │
00:09:05 verbose #18103 > > │ │
00:09:05 verbose #18104 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:05 verbose #18105 > >
00:09:05 verbose #18106 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:05 verbose #18107 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:05 verbose #18108 > > │ ### wave 1 │
00:09:05 verbose #18109 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:05 verbose #18110 > >
00:09:05 verbose #18111 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:05 verbose #18112 > > //// test
00:09:05 verbose #18113 > >
00:09:05 verbose #18114 > > inl linear_spring k re (particle_state st1) (particle_state st2) =
00:09:05 verbose #18115 > > inl r1 = st1.pos_vec
00:09:05 verbose #18116 > > inl r2 = st2.pos_vec
00:09:05 verbose #18117 > > inl r21 = r2 ^-^ r1
00:09:05 verbose #18118 > > inl r21mag = magnitude r21
00:09:05 verbose #18119 > > -k * (r21mag - re) *^ r21 ^/ r21mag
00:09:05 verbose #18120 > >
00:09:05 verbose #18121 > > inl fixed_linear_spring k re r1 =
00:09:05 verbose #18122 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:05 verbose #18123 > > linear_spring k re (particle_state { default_particle_state' with pos_vec =
00:09:05 verbose #18124 > > r1 })
00:09:05 verbose #18125 > >
00:09:05 verbose #18126 > > inl forces_string () =
00:09:05 verbose #18127 > > [[
00:09:05 verbose #18128 > > ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ()))
00:09:05 verbose #18129 > > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))
00:09:05 verbose #18130 > > ]] ++ (
00:09:05 verbose #18131 > > listm'.init_series 0 59 1
00:09:05 verbose #18132 > > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))
00:09:05 verbose #18133 > > )
00:09:05 verbose #18134 > >
00:09:05 verbose #18135 > > inl string_update dt =
00:09:05 verbose #18136 > > update_mps (runge_kutta_4 dt) (forces_string ())
00:09:05 verbose #18137 > >
00:09:05 verbose #18138 > > inl string_initial_overtone n =
00:09:05 verbose #18139 > > inl ball_mass = 0.0008293 * 0.65 / 64
00:09:05 verbose #18140 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:05 verbose #18141 > > listm'.init_series 0.01 0.64 0.01
00:09:05 verbose #18142 > > |> listm.map (fun x =>
00:09:05 verbose #18143 > > inl y = 0.005 * sin (conv n * pi * x / 0.65)
00:09:05 verbose #18144 > > particle_state {
00:09:05 verbose #18145 > > default_particle_state' with
00:09:05 verbose #18146 > > mass = ball_mass
00:09:05 verbose #18147 > > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:09:05 verbose #18148 > > velocity = zero_vec ()
00:09:05 verbose #18149 > > }
00:09:05 verbose #18150 > > )
00:09:05 verbose #18151 > > |> multi_particle_state
00:09:05 verbose #18152 > >
00:09:05 verbose #18153 > > inl string_initial_pluck () =
00:09:05 verbose #18154 > > inl ball_mass = 0.0008293 * 0.65 / 64
00:09:05 verbose #18155 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:05 verbose #18156 > > listm'.init_series 0.01 0.64 0.01
00:09:05 verbose #18157 > > |> listm.map (fun x =>
00:09:05 verbose #18158 > > inl y =
00:09:05 verbose #18159 > > inl n = if x <= 0.51 then 0 else 0.65
00:09:05 verbose #18160 > > 0.005 / (0.51 - n) * (x - n)
00:09:05 verbose #18161 > > particle_state {
00:09:05 verbose #18162 > > default_particle_state' with
00:09:05 verbose #18163 > > mass = ball_mass
00:09:05 verbose #18164 > > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:09:05 verbose #18165 > > velocity = zero_vec ()
00:09:05 verbose #18166 > > }
00:09:05 verbose #18167 > > )
00:09:05 verbose #18168 > > |> multi_particle_state
00:09:05 verbose #18169 > >
00:09:05 verbose #18170 > > let main () =
00:09:05 verbose #18171 > > inl ~frames = listm'.init_series 0 9 1f64
00:09:05 verbose #18172 > > inl initial_state = string_initial_overtone 3i32
00:09:05 verbose #18173 > > inl frames =
00:09:05 verbose #18174 > > frames
00:09:05 verbose #18175 > > |> listm.map (fun n =>
00:09:05 verbose #18176 > > inl (multi_particle_state sts) =
00:09:05 verbose #18177 > > seq.iterate' (string_update 0.000025) initial_state |> fun f =>
00:09:05 verbose #18178 > > f 0f64
00:09:05 verbose #18179 > > inl rs =
00:09:05 verbose #18180 > > [[ zero_vec () ]]
00:09:05 verbose #18181 > > ++ (sts |> listm.map (fun (particle_state st) => st.pos_vec))
00:09:05 verbose #18182 > > ++ [[ 0.65 *^ i_hat () ]]
00:09:05 verbose #18183 > > inl x, y =
00:09:05 verbose #18184 > > rs
00:09:05 verbose #18185 > > |> listm.map (fun r => r.x, r.y)
00:09:05 verbose #18186 > > |> listm'.unzip
00:09:05 verbose #18187 > > inl x : a i32 _ = x |> listm.toArray
00:09:05 verbose #18188 > > inl y : a i32 _ = y |> listm.toArray
00:09:05 verbose #18189 > > x, y
00:09:05 verbose #18190 > > )
00:09:05 verbose #18191 > > |> listm.toArray : a i32 _
00:09:05 verbose #18192 > >
00:09:05 verbose #18193 > > inl n = 0i32
00:09:05 verbose #18194 > >
00:09:05 verbose #18195 > > inl x, y = index frames n
00:09:05 verbose #18196 > >
00:09:05 verbose #18197 > > "wave",
00:09:05 verbose #18198 > > "position (m)",
00:09:05 verbose #18199 > > "displacement (m)",
00:09:05 verbose #18200 > > ;[[
00:09:05 verbose #18201 > > ($"$\"{!n}\"" : string), x, y
00:09:05 verbose #18202 > > ]]
00:09:05 verbose #18203 > 00:09:05 debug #871 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/684d3e7b0d4342ed4bd00429c3096deb75c3168482591354c0f07cb4962c2dbe/main.spi
00:09:06 verbose #18204 > >
00:09:06 verbose #18205 > > ╭─[ 226.63ms - return value ]──────────────────────────────────────────────────╮
00:09:06 verbose #18206 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:09:06 verbose #18207 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:09:06 verbose #18208 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:09:06 verbose #18209 > > │ stroke="none"/> │
00:09:06 verbose #18210 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:09:06 verbose #18211 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:09:06 verbose #18212 > > │ fill="#FFFFFF"> │
00:09:06 verbose #18213 > > │ wave │
00:09:06 verbose #18214 > > │ </text> │
00:09:06 verbose #18215 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
00:09:06 verbose #18216 > > │ y2="75"/> │
00:09:06 verbose #18217 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:09:06 verbose #18218 > > │ y2="75"/> │
00:09:06 verbose #18219 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
00:09:06 verbose #18220 > > │ y2="75"/> │
00:09:06 verbose #18221 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │
00:09:06 verbose #18222 > > │ y2="75"/> │
00:09:06 verbose #18223 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
00:09:06 verbose #18224 > > │ y2="75"/> │
00:09:06 verbose #18225 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424" │
00:09:06 verbose #18226 > > │ x2="100" y2="75"/> │
00:09:06 verbose #18227 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424" │
00:09:06 verbose #18228 > > │ x2="108" y2="75"/> │
00:09:06 verbose #18229 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424" │
00:09:06 verbose #18230 > > │ x2="116" y2="75"/> │
00:09:06 verbose #18231 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424" │
00:09:06 verbose #18232 > > │ x2="123" y2="75"/> │
00:09:06 verbose #18233 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424" │
00:09:06 verbose #18234 > > │ x2="131" y2="75"/> │
00:09:06 verbose #18235 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:09:06 verbose #18236 > > │ x2="139" y2="75"/> │
00:09:06 verbose #18237 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424" │
00:09:06 verbose #18238 > > │ x2="146" y2="75"/> │
00:09:06 verbose #18239 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="154" y1="424" │
00:09:06 verbose #18240 > > │ x2="154" y2="75"/> │
00:09:06 verbose #18241 > > │ <line opacity="1" stroke="#323... │
00:09:06 verbose #18242 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:06 verbose #18243 > >
00:09:06 verbose #18244 > > ╭─[ 227.57ms - stdout ]────────────────────────────────────────────────────────╮
00:09:06 verbose #18245 > > │ 00:00:15 debug #43 execute_with_options_async / options: struct (Some │
00:09:06 verbose #18246 > > │ System.Threading.CancellationToken, │
00:09:06 verbose #18247 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:06 verbose #18248 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:06 verbose #18249 > > │ 00:00:15 verbose #44 > Creating │
00:09:06 verbose #18250 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/c7418d │
00:09:06 verbose #18251 > > │ f0ce04ccaab7c4d85e07df47a9669ac0ab4f1d50ec3d2fa160947066c1.svg │
00:09:06 verbose #18252 > > │ 00:00:15 debug #45 execute_with_options_async / exit_code: 0 / │
00:09:06 verbose #18253 > > │ output.Length: 147 │
00:09:06 verbose #18254 > > │ │
00:09:06 verbose #18255 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:06 verbose #18256 > >
00:09:06 verbose #18257 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:06 verbose #18258 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:06 verbose #18259 > > │ ### system kinetic energy versus time 2 │
00:09:06 verbose #18260 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:06 verbose #18261 > >
00:09:06 verbose #18262 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:06 verbose #18263 > > //// test
00:09:06 verbose #18264 > >
00:09:06 verbose #18265 > > inl central_force f (particle_state st1) (particle_state st2) =
00:09:06 verbose #18266 > > inl r1 = st1.pos_vec
00:09:06 verbose #18267 > > inl r2 = st2.pos_vec
00:09:06 verbose #18268 > > inl r21 = r2 ^-^ r1
00:09:06 verbose #18269 > > inl r21mag = magnitude r21
00:09:06 verbose #18270 > > f r21mag *^ r21 ^/ r21mag
00:09:06 verbose #18271 > >
00:09:06 verbose #18272 > > inl billiard_force k re =
00:09:06 verbose #18273 > > inl f r =
00:09:06 verbose #18274 > > if r >= re
00:09:06 verbose #18275 > > then 0
00:09:06 verbose #18276 > > else -k * (r - re)
00:09:06 verbose #18277 > > central_force f
00:09:06 verbose #18278 > >
00:09:06 verbose #18279 > > type force_vector = vec
00:09:06 verbose #18280 > > type two_body_force = particle_state -> particle_state -> force_vector
00:09:06 verbose #18281 > >
00:09:06 verbose #18282 > > union force t =
00:09:06 verbose #18283 > > | ExternalForce : t * one_body_force
00:09:06 verbose #18284 > > | InternalForce : t * t * two_body_force
00:09:06 verbose #18285 > >
00:09:06 verbose #18286 > > nominal multi_particle_state = stream.stream particle_state
00:09:06 verbose #18287 > >
00:09:06 verbose #18288 > > nominal d_multi_particle_state = stream.stream d_particle_state
00:09:06 verbose #18289 > >
00:09:06 verbose #18290 > > inl force_on n s force =
00:09:06 verbose #18291 > > match force with
00:09:06 verbose #18292 > > | ExternalForce (n0, f_one_body) =>
00:09:06 verbose #18293 > > if n = n0
00:09:06 verbose #18294 > > then f_one_body
00:09:06 verbose #18295 > > else fun _ => zero_vec ()
00:09:06 verbose #18296 > > | InternalForce (n0, n1, f_two_body) =>
00:09:06 verbose #18297 > > if n = n0
00:09:06 verbose #18298 > > then s |> stream.try_item n1 |> optionm.map f_two_body
00:09:06 verbose #18299 > > elif n = n1
00:09:06 verbose #18300 > > then s |> stream.try_item n0 |> optionm.map f_two_body
00:09:06 verbose #18301 > > else None
00:09:06 verbose #18302 > > |> optionm'.default_value (fun _ => zero_vec ())
00:09:06 verbose #18303 > >
00:09:06 verbose #18304 > > inl forces_on n (multi_particle_state sts) fs =
00:09:06 verbose #18305 > > fs
00:09:06 verbose #18306 > > |> listm.map (force_on n sts)
00:09:06 verbose #18307 > >
00:09:06 verbose #18308 > > inl newton_second_mps fs ((multi_particle_state sts) as mpst) =
00:09:06 verbose #18309 > > inl deriv (n, st) =
00:09:06 verbose #18310 > > newton_second_ps (forces_on n mpst fs) st
00:09:06 verbose #18311 > > sts |> stream.indexed |> stream.map deriv |> d_multi_particle_state
00:09:06 verbose #18312 > >
00:09:06 verbose #18313 > > instance (+++) d_multi_particle_state =
00:09:06 verbose #18314 > > fun (d_multi_particle_state dsts1) (d_multi_particle_state dsts2) =>
00:09:06 verbose #18315 > > (dsts1, dsts2)
00:09:06 verbose #18316 > > ||> stream.zip_with (+++)
00:09:06 verbose #18317 > > |> d_multi_particle_state
00:09:06 verbose #18318 > >
00:09:06 verbose #18319 > > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) =>
00:09:06 verbose #18320 > > dsts
00:09:06 verbose #18321 > > |> stream.map (scale w)
00:09:06 verbose #18322 > > |> d_multi_particle_state
00:09:06 verbose #18323 > >
00:09:06 verbose #18324 > > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) =>
00:09:06 verbose #18325 > > inl (d_multi_particle_state dsts) =
00:09:06 verbose #18326 > > real
00:09:06 verbose #18327 > > match dsts with
00:09:06 verbose #18328 > > | d_multi_particle_state _ => dsts
00:09:06 verbose #18329 > > (dsts, sts)
00:09:06 verbose #18330 > > ||> stream.zip_with (shift dt)
00:09:06 verbose #18331 > > |> stream.memoize
00:09:06 verbose #18332 > > |> fun x => x ()
00:09:06 verbose #18333 > > |> multi_particle_state
00:09:06 verbose #18334 > >
00:09:06 verbose #18335 > > inl euler_cromer_mps dt : numerical_method multi_particle_state
00:09:06 verbose #18336 > > d_multi_particle_state =
00:09:06 verbose #18337 > > fun deriv ((multi_particle_state sts0) as mpst0) =>
00:09:06 verbose #18338 > > inl (multi_particle_state sts1) = euler dt deriv mpst0
00:09:06 verbose #18339 > > (sts0, sts1)
00:09:06 verbose #18340 > > ||> stream.zip
00:09:06 verbose #18341 > > |> stream.map (fun ((particle_state st0), (particle_state st1)) =>
00:09:06 verbose #18342 > > particle_state {
00:09:06 verbose #18343 > > st1 with
00:09:06 verbose #18344 > > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt
00:09:06 verbose #18345 > > }
00:09:06 verbose #18346 > > )
00:09:06 verbose #18347 > > |> multi_particle_state
00:09:06 verbose #18348 > >
00:09:06 verbose #18349 > > inl update_mps (method : numerical_method multi_particle_state
00:09:06 verbose #18350 > > d_multi_particle_state) =
00:09:06 verbose #18351 > > newton_second_mps >> method
00:09:06 verbose #18352 > >
00:09:06 verbose #18353 > > inl states_mps (method : numerical_method multi_particle_state
00:09:06 verbose #18354 > > d_multi_particle_state) =
00:09:06 verbose #18355 > > newton_second_mps
00:09:06 verbose #18356 > > >> method
00:09:06 verbose #18357 > > >> (fun x (multi_particle_state y) =>
00:09:06 verbose #18358 > > y
00:09:06 verbose #18359 > > |> stream.memoize
00:09:06 verbose #18360 > > |> (fun x => x ())
00:09:06 verbose #18361 > > |> multi_particle_state |> x
00:09:06 verbose #18362 > > )
00:09:06 verbose #18363 > > // >> stream.iterate
00:09:06 verbose #18364 > > >> seq.iterate'
00:09:06 verbose #18365 > >
00:09:06 verbose #18366 > > inl kinetic_energy (particle_state st) =
00:09:06 verbose #18367 > > inl m = st.mass
00:09:06 verbose #18368 > > inl v = magnitude st.velocity
00:09:06 verbose #18369 > > 0.5 * m * v ** 2
00:09:06 verbose #18370 > >
00:09:06 verbose #18371 > > inl system_ke (multi_particle_state sts) =
00:09:06 verbose #18372 > > sts
00:09:06 verbose #18373 > > |> stream.map kinetic_energy
00:09:06 verbose #18374 > > |> stream.sum
00:09:06 verbose #18375 > >
00:09:06 verbose #18376 > > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =
00:09:06 verbose #18377 > > inl r1 = st1.pos_vec
00:09:06 verbose #18378 > > inl r2 = st2.pos_vec
00:09:06 verbose #18379 > > inl r21 = r2 ^-^ r1
00:09:06 verbose #18380 > > inl r21mag = magnitude r21
00:09:06 verbose #18381 > > k * (r21mag - re) ** 2 / 2
00:09:06 verbose #18382 > >
00:09:06 verbose #18383 > > inl earth_surface_gravity_pe (particle_state st) =
00:09:06 verbose #18384 > > inl g = 9.80665
00:09:06 verbose #18385 > > inl m = st.mass
00:09:06 verbose #18386 > > inl z = st.pos_vec.z
00:09:06 verbose #18387 > > m * g * z
00:09:06 verbose #18388 > >
00:09:06 verbose #18389 > > inl ball_radius () = 0.03
00:09:06 verbose #18390 > >
00:09:06 verbose #18391 > > inl billiard_forces k =
00:09:06 verbose #18392 > > [[ InternalForce (0i32, 1, billiard_force k (2 * ball_radius ())) ]]
00:09:06 verbose #18393 > >
00:09:06 verbose #18394 > > inl billiard_initial () =
00:09:06 verbose #18395 > > inl ball_mass = 0.160
00:09:06 verbose #18396 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:06 verbose #18397 > > [[
00:09:06 verbose #18398 > > particle_state {
00:09:06 verbose #18399 > > default_particle_state' with
00:09:06 verbose #18400 > > mass = ball_mass
00:09:06 verbose #18401 > > pos_vec = zero_vec ()
00:09:06 verbose #18402 > > velocity = 0.2 *^ i_hat ()
00:09:06 verbose #18403 > > }
00:09:06 verbose #18404 > > particle_state {
00:09:06 verbose #18405 > > default_particle_state' with
00:09:06 verbose #18406 > > mass = ball_mass
00:09:06 verbose #18407 > > pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()
00:09:06 verbose #18408 > > velocity = zero_vec ()
00:09:06 verbose #18409 > > }
00:09:06 verbose #18410 > > ]]
00:09:06 verbose #18411 > > |> stream.from_list
00:09:06 verbose #18412 > > |> multi_particle_state
00:09:06 verbose #18413 > >
00:09:06 verbose #18414 > > inl billiard_states ~n_method k dt =
00:09:06 verbose #18415 > > states_mps (n_method dt) (billiard_forces k) (billiard_initial ())
00:09:06 verbose #18416 > >
00:09:06 verbose #18417 > > inl billiard_states_finite n_method k dt =
00:09:06 verbose #18418 > > billiard_states n_method k dt
00:09:06 verbose #18419 > > >> Some
00:09:06 verbose #18420 > > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>
00:09:06 verbose #18421 > > match mpst |> stream.try_item 0i32 with
00:09:06 verbose #18422 > > | Some st =>
00:09:06 verbose #18423 > > st.time <= 10
00:09:06 verbose #18424 > > | None => false
00:09:06 verbose #18425 > > )
00:09:06 verbose #18426 > >
00:09:06 verbose #18427 > > inl momentum (particle_state st) =
00:09:06 verbose #18428 > > inl m = st.mass
00:09:06 verbose #18429 > > inl v = st.velocity
00:09:06 verbose #18430 > > m *^ v
00:09:06 verbose #18431 > >
00:09:06 verbose #18432 > > inl system_p (multi_particle_state sts) =
00:09:06 verbose #18433 > > sts
00:09:06 verbose #18434 > > |> stream.map momentum
00:09:06 verbose #18435 > > |> stream.fold (^+^) (zero_vec ())
00:09:06 verbose #18436 > >
00:09:06 verbose #18437 > > inl time_ke_ec_x, time_ke_ec_y =
00:09:06 verbose #18438 > > billiard_states_finite euler_cromer_mps 30 0.03
00:09:06 verbose #18439 > > |> listm.map (fun (multi_particle_state mpst) =>
00:09:06 verbose #18440 > > mpst |> stream.try_item 0i32
00:09:06 verbose #18441 > > |> optionm.map (fun st =>
00:09:06 verbose #18442 > > st.time, system_ke (multi_particle_state mpst)
00:09:06 verbose #18443 > > )
00:09:06 verbose #18444 > > )
00:09:06 verbose #18445 > > // |> stream.to_list
00:09:06 verbose #18446 > > |> listm'.choose id
00:09:06 verbose #18447 > > |> listm'.unzip
00:09:06 verbose #18448 > >
00:09:06 verbose #18449 > > inl time_ke_rk4_x, time_ke_rk4_y =
00:09:06 verbose #18450 > > billiard_states_finite runge_kutta_4 30 0.03
00:09:06 verbose #18451 > > |> listm.map (fun (multi_particle_state mpst) =>
00:09:06 verbose #18452 > > mpst |> stream.try_item 0i32
00:09:06 verbose #18453 > > |> optionm.map (fun st =>
00:09:06 verbose #18454 > > st.time, system_ke (multi_particle_state mpst)
00:09:06 verbose #18455 > > )
00:09:06 verbose #18456 > > )
00:09:06 verbose #18457 > > // |> stream.to_list
00:09:06 verbose #18458 > > |> listm'.choose id
00:09:06 verbose #18459 > > |> listm'.unzip
00:09:06 verbose #18460 > >
00:09:06 verbose #18461 > > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray
00:09:06 verbose #18462 > > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray
00:09:06 verbose #18463 > >
00:09:06 verbose #18464 > > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray
00:09:06 verbose #18465 > > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray
00:09:06 verbose #18466 > >
00:09:06 verbose #18467 > > "system kinetic energy versus time",
00:09:06 verbose #18468 > > "time (s)",
00:09:06 verbose #18469 > > "system kinetic energy (j)",
00:09:06 verbose #18470 > > ;[[
00:09:06 verbose #18471 > > "euler-cromer", time_ke_ec_x, time_ke_ec_y
00:09:06 verbose #18472 > > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y
00:09:06 verbose #18473 > > ]]
00:09:06 verbose #18474 > 00:09:05 debug #872 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3d1805972825cbb4c25e1e9fb91d35861c01f48eb6905452b1e062bd5bbde681/main.spi
00:09:07 verbose #18475 > >
00:09:07 verbose #18476 > > ╭─[ 1.39s - return value ]─────────────────────────────────────────────────────╮
00:09:07 verbose #18477 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │
00:09:07 verbose #18478 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:09:07 verbose #18479 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:09:07 verbose #18480 > > │ stroke="none"/> │
00:09:07 verbose #18481 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:09:07 verbose #18482 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:09:07 verbose #18483 > > │ fill="#FFFFFF"> │
00:09:07 verbose #18484 > > │ system kinetic energy versus time │
00:09:07 verbose #18485 > > │ </text> │
00:09:07 verbose #18486 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
00:09:07 verbose #18487 > > │ y2="75"/> │
00:09:07 verbose #18488 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:09:07 verbose #18489 > > │ y2="75"/> │
00:09:07 verbose #18490 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
00:09:07 verbose #18491 > > │ y2="75"/> │
00:09:07 verbose #18492 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
00:09:07 verbose #18493 > > │ y2="75"/> │
00:09:07 verbose #18494 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
00:09:07 verbose #18495 > > │ y2="75"/> │
00:09:07 verbose #18496 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
00:09:07 verbose #18497 > > │ x2="109" y2="75"/> │
00:09:07 verbose #18498 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
00:09:07 verbose #18499 > > │ x2="119" y2="75"/> │
00:09:07 verbose #18500 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
00:09:07 verbose #18501 > > │ x2="129" y2="75"/> │
00:09:07 verbose #18502 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:09:07 verbose #18503 > > │ x2="139" y2="75"/> │
00:09:07 verbose #18504 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
00:09:07 verbose #18505 > > │ x2="149" y2="75"/> │
00:09:07 verbose #18506 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
00:09:07 verbose #18507 > > │ x2="159" y2="75"/> │
00:09:07 verbose #18508 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
00:09:07 verbose #18509 > > │ x2="169" y2="75"/> │
00:09:07 verbose #18510 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
00:09:07 verbose #18511 > > │ x2="179" y2="75"/> │
00:09:07 verbose #18512 > > │ <... │
00:09:07 verbose #18513 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:07 verbose #18514 > >
00:09:07 verbose #18515 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:07 verbose #18516 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:07 verbose #18517 > > │ ### wave 2 │
00:09:07 verbose #18518 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:07 verbose #18519 > >
00:09:07 verbose #18520 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:07 verbose #18521 > > //// test
00:09:07 verbose #18522 > >
00:09:07 verbose #18523 > > inl linear_spring k re (particle_state st1) (particle_state st2) =
00:09:07 verbose #18524 > > inl r1 = st1.pos_vec
00:09:07 verbose #18525 > > inl r2 = st2.pos_vec
00:09:07 verbose #18526 > > inl r21 = r2 ^-^ r1
00:09:07 verbose #18527 > > inl r21mag = magnitude r21
00:09:07 verbose #18528 > > -k * (r21mag - re) *^ r21 ^/ r21mag
00:09:07 verbose #18529 > >
00:09:07 verbose #18530 > > inl fixed_linear_spring k re r1 =
00:09:07 verbose #18531 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:07 verbose #18532 > > linear_spring k re (particle_state { default_particle_state' with pos_vec =
00:09:07 verbose #18533 > > r1 })
00:09:07 verbose #18534 > >
00:09:07 verbose #18535 > > inl forces_string () =
00:09:07 verbose #18536 > > [[
00:09:07 verbose #18537 > > ExternalForce (0i32, fixed_linear_spring 5384 0 (zero_vec ()))
00:09:07 verbose #18538 > > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))
00:09:07 verbose #18539 > > ]] ++ (
00:09:07 verbose #18540 > > listm'.init_series 0 59 1
00:09:07 verbose #18541 > > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))
00:09:07 verbose #18542 > > )
00:09:07 verbose #18543 > >
00:09:07 verbose #18544 > > inl string_update dt =
00:09:07 verbose #18545 > > update_mps (join runge_kutta_4 dt) (join forces_string ())
00:09:07 verbose #18546 > >
00:09:07 verbose #18547 > > inl string_initial_overtone n =
00:09:07 verbose #18548 > > inl ball_mass = 0.0008293 * 0.65 / 64
00:09:07 verbose #18549 > > inl (particle_state default_particle_state') = default_particle_state ()
00:09:07 verbose #18550 > > listm'.init_series 0.01 0.64 0.01
00:09:07 verbose #18551 > > |> listm.map (fun x =>
00:09:07 verbose #18552 > > inl y = 0.005 * sin (conv n * pi * x / 0.65)
00:09:07 verbose #18553 > > particle_state {
00:09:07 verbose #18554 > > default_particle_state' with
00:09:07 verbose #18555 > > mass = ball_mass
00:09:07 verbose #18556 > > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
00:09:07 verbose #18557 > > velocity = zero_vec ()
00:09:07 verbose #18558 > > }
00:09:07 verbose #18559 > > )
00:09:07 verbose #18560 > > |> stream.from_list
00:09:07 verbose #18561 > > |> multi_particle_state
00:09:07 verbose #18562 > >
00:09:07 verbose #18563 > > let main () =
00:09:07 verbose #18564 > > inl ~frames = listm'.init_series 0 65 1f64 |> stream.from_list
00:09:07 verbose #18565 > > inl ~initial_state = string_initial_overtone 3i32
00:09:07 verbose #18566 > > inl frames =
00:09:07 verbose #18567 > > frames
00:09:07 verbose #18568 > > |> stream.map (fun n =>
00:09:07 verbose #18569 > > inl (multi_particle_state sts) =
00:09:07 verbose #18570 > > stream.iterate (string_update 0.000025) initial_state |>
00:09:07 verbose #18571 > > stream.item n
00:09:07 verbose #18572 > > inl x, y =
00:09:07 verbose #18573 > > [[ zero_vec () ]]
00:09:07 verbose #18574 > > ++ (sts |> stream.map (fun (particle_state st) => st.pos_vec) |>
00:09:07 verbose #18575 > > stream.to_list)
00:09:07 verbose #18576 > > ++ [[ 0.65 *^ i_hat () ]]
00:09:07 verbose #18577 > > |> listm.map (fun r => r.x, r.y)
00:09:07 verbose #18578 > > |> stream.from_list
00:09:07 verbose #18579 > > |> stream.unzip
00:09:07 verbose #18580 > > inl x : a i32 _ = x |> stream.to_list |> listm.toArray
00:09:07 verbose #18581 > > inl y : a i32 _ = y |> stream.to_list |> listm.toArray
00:09:07 verbose #18582 > > x, y
00:09:07 verbose #18583 > > )
00:09:07 verbose #18584 > >
00:09:07 verbose #18585 > > inl plots =
00:09:07 verbose #18586 > > frames
00:09:07 verbose #18587 > > |> stream.indexed
00:09:07 verbose #18588 > > |> stream.map (fun ((n : i32), (x, y)) =>
00:09:07 verbose #18589 > > "wave",
00:09:07 verbose #18590 > > "position (m)",
00:09:07 verbose #18591 > > "displacement (m)",
00:09:07 verbose #18592 > > ;[[
00:09:07 verbose #18593 > > ($"$\"{!n}\"" : string), x, y
00:09:07 verbose #18594 > > ]]
00:09:07 verbose #18595 > > )
00:09:07 verbose #18596 > >
00:09:07 verbose #18597 > > plots |> stream.to_list |> listm.toArray : a i32 _
00:09:07 verbose #18598 > 00:09:07 debug #873 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/895cf6bbd95191f28a53ef6c3092fe66a1b266f6eda7bc9473c3f2b76f5c6a55/main.spi
00:09:12 verbose #18599 > >
00:09:12 verbose #18600 > > ╭─[ 5.14s - return value ]─────────────────────────────────────────────────────╮
00:09:12 verbose #18601 > > │ <table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr │
00:09:12 verbose #18602 > > │ ><td>0</td><td><svg width="640" height="480" viewBox="0 0 640 480" │
00:09:12 verbose #18603 > > │ xmlns="http://www.w3.org/2000/svg"> │
00:09:12 verbose #18604 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
00:09:12 verbose #18605 > > │ stroke="none"/> │
00:09:12 verbose #18606 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
00:09:12 verbose #18607 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
00:09:12 verbose #18608 > > │ fill="#FFFFFF"> │
00:09:12 verbose #18609 > > │ wave │
00:09:12 verbose #18610 > > │ </text> │
00:09:12 verbose #18611 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
00:09:12 verbose #18612 > > │ y2="75"/> │
00:09:12 verbose #18613 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
00:09:12 verbose #18614 > > │ y2="75"/> │
00:09:12 verbose #18615 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
00:09:12 verbose #18616 > > │ y2="75"/> │
00:09:12 verbose #18617 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │
00:09:12 verbose #18618 > > │ y2="75"/> │
00:09:12 verbose #18619 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
00:09:12 verbose #18620 > > │ y2="75"/> │
00:09:12 verbose #18621 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424" │
00:09:12 verbose #18622 > > │ x2="100" y2="75"/> │
00:09:12 verbose #18623 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424" │
00:09:12 verbose #18624 > > │ x2="108" y2="75"/> │
00:09:12 verbose #18625 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424" │
00:09:12 verbose #18626 > > │ x2="116" y2="75"/> │
00:09:12 verbose #18627 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424" │
00:09:12 verbose #18628 > > │ x2="123" y2="75"/> │
00:09:12 verbose #18629 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424" │
00:09:12 verbose #18630 > > │ x2="131" y2="75"/> │
00:09:12 verbose #18631 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
00:09:12 verbose #18632 > > │ x2="139" y2="75"/> │
00:09:12 verbose #18633 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424" │
00:09:12 verbose #18634 > > │ x2="146" y2="75"/> │
00:09:12 verbose #18635 > > │ <line opacity="1" stroke="#3... │
00:09:12 verbose #18636 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:12 verbose #18637 > >
00:09:12 verbose #18638 > > ╭─[ 5.14s - stdout ]───────────────────────────────────────────────────────────╮
00:09:12 verbose #18639 > > │ 00:00:21 debug #46 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18640 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18641 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18642 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18643 > > │ 00:00:21 verbose #47 > Creating │
00:09:12 verbose #18644 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/25b438 │
00:09:12 verbose #18645 > > │ 6102d4e649cf36c315e80448a1fa116c091b0086111cf413562ef6255c.svg │
00:09:12 verbose #18646 > > │ 00:00:21 debug #48 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18647 > > │ output.Length: 147 │
00:09:12 verbose #18648 > > │ 00:00:21 debug #49 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18649 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18650 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18651 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18652 > > │ 00:00:21 verbose #50 > Creating │
00:09:12 verbose #18653 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/82069a │
00:09:12 verbose #18654 > > │ b3443b2210137c4a51290d83dc81229748eec3a972a381c54f97272db6.svg │
00:09:12 verbose #18655 > > │ 00:00:21 debug #51 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18656 > > │ output.Length: 147 │
00:09:12 verbose #18657 > > │ 00:00:21 debug #52 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18658 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18659 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18660 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18661 > > │ 00:00:21 verbose #53 > Creating │
00:09:12 verbose #18662 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/51198f │
00:09:12 verbose #18663 > > │ 81dd6b9e00f356cd50edeac50e389911946af788d2df96b0c3969cc85f.svg │
00:09:12 verbose #18664 > > │ 00:00:21 debug #54 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18665 > > │ output.Length: 147 │
00:09:12 verbose #18666 > > │ 00:00:21 debug #55 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18667 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18668 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18669 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18670 > > │ 00:00:21 verbose #56 > Creating │
00:09:12 verbose #18671 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/0da4df │
00:09:12 verbose #18672 > > │ 708113eca060892dd4d18bc2025b1151e39abb4b96e26eff2fc4cd6891.svg │
00:09:12 verbose #18673 > > │ 00:00:21 debug #57 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18674 > > │ output.Length: 147 │
00:09:12 verbose #18675 > > │ 00:00:21 debug #58 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18676 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18677 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18678 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18679 > > │ 00:00:21 verbose #59 > Creating │
00:09:12 verbose #18680 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/ec21fa │
00:09:12 verbose #18681 > > │ e8ff726079724d8166ca53da39947780d93d63f740978db0416b399df1.svg │
00:09:12 verbose #18682 > > │ 00:00:21 debug #60 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18683 > > │ output.Length: 147 │
00:09:12 verbose #18684 > > │ 00:00:21 debug #61 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18685 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18686 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18687 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18688 > > │ 00:00:21 verbose #62 > Creating │
00:09:12 verbose #18689 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/cc3a3d │
00:09:12 verbose #18690 > > │ 6115cdfd7ee2acca31ac52275c998d1e6f6aa7b2316b2c84bde8340094.svg │
00:09:12 verbose #18691 > > │ 00:00:21 debug #63 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18692 > > │ output.Length: 147 │
00:09:12 verbose #18693 > > │ 00:00:21 debug #64 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18694 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18695 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18696 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18697 > > │ 00:00:21 verbose #65 > Creating │
00:09:12 verbose #18698 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/f4d4d6 │
00:09:12 verbose #18699 > > │ 212bb5f26b01e223e15a54b5cca667ecc4a41c7ac12166812c495d9437.svg │
00:09:12 verbose #18700 > > │ 00:00:21 debug #66 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18701 > > │ output.Length: 147 │
00:09:12 verbose #18702 > > │ 00:00:21 debug #67 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18703 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18704 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18705 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18706 > > │ 00:00:21 verbose #68 > Creating │
00:09:12 verbose #18707 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/88e67a │
00:09:12 verbose #18708 > > │ cda384a3935bf09a094a0422796a2f36a7a20876fe7666cf276baba4ca.svg │
00:09:12 verbose #18709 > > │ 00:00:21 debug #69 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18710 > > │ output.Length: 147 │
00:09:12 verbose #18711 > > │ 00:00:21 debug #70 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18712 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18713 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18714 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18715 > > │ 00:00:21 verbose #71 > Creating │
00:09:12 verbose #18716 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/0d6dfb │
00:09:12 verbose #18717 > > │ 91ef9a13fbdc033c517fa71d9824632e6a73651491210f9e9bb26fdefd.svg │
00:09:12 verbose #18718 > > │ 00:00:21 debug #72 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18719 > > │ output.Length: 147 │
00:09:12 verbose #18720 > > │ 00:00:21 debug #73 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18721 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18722 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18723 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18724 > > │ 00:00:21 verbose #74 > Creating │
00:09:12 verbose #18725 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/269ae5 │
00:09:12 verbose #18726 > > │ 518e06880956a5a031a71fc0d1003baec1faf97795021ff0849b29f158.svg │
00:09:12 verbose #18727 > > │ 00:00:21 debug #75 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18728 > > │ output.Length: 147 │
00:09:12 verbose #18729 > > │ 00:00:21 debug #76 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18730 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18731 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18732 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18733 > > │ 00:00:21 verbose #77 > Creating │
00:09:12 verbose #18734 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/429b42 │
00:09:12 verbose #18735 > > │ 5800e5f58efea5a9daea343d9a1aac009a6f9c4409f11383c3a86d4c6c.svg │
00:09:12 verbose #18736 > > │ 00:00:21 debug #78 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18737 > > │ output.Length: 147 │
00:09:12 verbose #18738 > > │ 00:00:21 debug #79 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18739 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18740 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18741 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18742 > > │ 00:00:21 verbose #80 > Creating │
00:09:12 verbose #18743 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/e5beb9 │
00:09:12 verbose #18744 > > │ b5144700e5ac068ff41f7799acb88cbe0b613258014323302a0a3d5a1c.svg │
00:09:12 verbose #18745 > > │ 00:00:21 debug #81 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18746 > > │ output.Length: 147 │
00:09:12 verbose #18747 > > │ 00:00:21 debug #82 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18748 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18749 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18750 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18751 > > │ 00:00:21 verbose #83 > Creating │
00:09:12 verbose #18752 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/2543db │
00:09:12 verbose #18753 > > │ 981b2d7ba78e8905023f1f76b58dd99d61f636fcdc47f85cc5998df0fa.svg │
00:09:12 verbose #18754 > > │ 00:00:21 debug #84 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18755 > > │ output.Length: 147 │
00:09:12 verbose #18756 > > │ 00:00:21 debug #85 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18757 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18758 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18759 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18760 > > │ 00:00:21 verbose #86 > Creating │
00:09:12 verbose #18761 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/31bd17 │
00:09:12 verbose #18762 > > │ 4c459b1cf6d0e9609489ea792da7fb84696f35c6d5e4fcfac01cdb2313.svg │
00:09:12 verbose #18763 > > │ 00:00:21 debug #87 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18764 > > │ output.Length: 147 │
00:09:12 verbose #18765 > > │ 00:00:21 debug #88 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18766 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18767 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18768 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18769 > > │ 00:00:21 verbose #89 > Creating │
00:09:12 verbose #18770 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/205525 │
00:09:12 verbose #18771 > > │ 6cd308846fd5325958a010fd6753dabf3ec603ee633dda982c882cc35d.svg │
00:09:12 verbose #18772 > > │ 00:00:21 debug #90 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18773 > > │ output.Length: 147 │
00:09:12 verbose #18774 > > │ 00:00:21 debug #91 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18775 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18776 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18777 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18778 > > │ 00:00:21 verbose #92 > Creating │
00:09:12 verbose #18779 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/e36a8f │
00:09:12 verbose #18780 > > │ 1675ee4d9378c2c149f0395e9585eb14793f79a5e1837d9943c8256622.svg │
00:09:12 verbose #18781 > > │ 00:00:21 debug #93 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18782 > > │ output.Length: 147 │
00:09:12 verbose #18783 > > │ 00:00:21 debug #94 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18784 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18785 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18786 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18787 > > │ 00:00:21 verbose #95 > Creating │
00:09:12 verbose #18788 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/4e4470 │
00:09:12 verbose #18789 > > │ 2e3376bc59ceef1c5463ef093898efe2659436cc48225aca64585a1eed.svg │
00:09:12 verbose #18790 > > │ 00:00:21 debug #96 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18791 > > │ output.Length: 147 │
00:09:12 verbose #18792 > > │ 00:00:21 debug #97 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18793 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18794 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18795 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18796 > > │ 00:00:21 verbose #98 > Creating │
00:09:12 verbose #18797 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/da2dd1 │
00:09:12 verbose #18798 > > │ e5137917a0b5fbd320e18d559f3003adee29c16c8b3ddaa90861251def.svg │
00:09:12 verbose #18799 > > │ 00:00:21 debug #99 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18800 > > │ output.Length: 147 │
00:09:12 verbose #18801 > > │ 00:00:21 debug #100 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18802 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18803 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18804 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18805 > > │ 00:00:21 verbose #101 > Creating │
00:09:12 verbose #18806 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/c8e034 │
00:09:12 verbose #18807 > > │ f0843c86c31cc3c64b5c2dbfc69aa176075142483c6070350a436ad974.svg │
00:09:12 verbose #18808 > > │ 00:00:21 debug #102 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18809 > > │ output.Length: 147 │
00:09:12 verbose #18810 > > │ 00:00:21 debug #103 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18811 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18812 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18813 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18814 > > │ 00:00:21 verbose #104 > Creating │
00:09:12 verbose #18815 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/d015b6 │
00:09:12 verbose #18816 > > │ ee7829dec29660e9e1a8e2c91527fecaf400660e01b1e8c8fc50d64557.svg │
00:09:12 verbose #18817 > > │ 00:00:21 debug #105 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18818 > > │ output.Length: 147 │
00:09:12 verbose #18819 > > │ 00:00:21 debug #106 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18820 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18821 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18822 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18823 > > │ 00:00:21 verbose #107 > Creating │
00:09:12 verbose #18824 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/6f9e77 │
00:09:12 verbose #18825 > > │ 9b344f4181fd8010d1fbddf41de20d850557acba391b3cc908fbe8bfd7.svg │
00:09:12 verbose #18826 > > │ 00:00:21 debug #108 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18827 > > │ output.Length: 147 │
00:09:12 verbose #18828 > > │ 00:00:21 debug #109 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18829 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18830 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18831 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18832 > > │ 00:00:21 verbose #110 > Creating │
00:09:12 verbose #18833 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/e20cc8 │
00:09:12 verbose #18834 > > │ 3d71d3b2e4fb037effa299afb3ae5fbad79a76be4333412b0afad44247.svg │
00:09:12 verbose #18835 > > │ 00:00:21 debug #111 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18836 > > │ output.Length: 147 │
00:09:12 verbose #18837 > > │ 00:00:21 debug #112 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18838 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18839 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18840 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18841 > > │ 00:00:21 verbose #113 > Creating │
00:09:12 verbose #18842 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/552767 │
00:09:12 verbose #18843 > > │ eafba3ce3097354bb928d9dd9d0af565a8b70940a42e08f6ad067d70a7.svg │
00:09:12 verbose #18844 > > │ 00:00:21 debug #114 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18845 > > │ output.Length: 147 │
00:09:12 verbose #18846 > > │ 00:00:21 debug #115 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18847 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18848 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18849 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18850 > > │ 00:00:21 verbose #116 > Creating │
00:09:12 verbose #18851 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/a27eac │
00:09:12 verbose #18852 > > │ 8f69f101def5fa6b4c8cebc059d503808937bc367d9d3608cec2712613.svg │
00:09:12 verbose #18853 > > │ 00:00:21 debug #117 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18854 > > │ output.Length: 147 │
00:09:12 verbose #18855 > > │ 00:00:21 debug #118 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18856 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18857 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18858 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18859 > > │ 00:00:21 verbose #119 > Creating │
00:09:12 verbose #18860 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/f8d04b │
00:09:12 verbose #18861 > > │ 749068750046e5d0d76166fc42fe00e40d9e14143a48b9f18612895d93.svg │
00:09:12 verbose #18862 > > │ 00:00:21 debug #120 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18863 > > │ output.Length: 147 │
00:09:12 verbose #18864 > > │ 00:00:21 debug #121 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18865 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18866 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18867 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18868 > > │ 00:00:21 verbose #122 > Creating │
00:09:12 verbose #18869 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/e05df3 │
00:09:12 verbose #18870 > > │ b8d5b0fca42735e5703316d5517e51dfac741018f80bcd59ecd3a56299.svg │
00:09:12 verbose #18871 > > │ 00:00:21 debug #123 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18872 > > │ output.Length: 147 │
00:09:12 verbose #18873 > > │ 00:00:21 debug #124 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18874 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18875 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18876 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18877 > > │ 00:00:21 verbose #125 > Creating │
00:09:12 verbose #18878 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/b40e8a │
00:09:12 verbose #18879 > > │ 5b3c77f4513a629f118c91a77d5bdbde27147178a46ca1cfde97c15836.svg │
00:09:12 verbose #18880 > > │ 00:00:21 debug #126 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18881 > > │ output.Length: 147 │
00:09:12 verbose #18882 > > │ 00:00:21 debug #127 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18883 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18884 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18885 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18886 > > │ 00:00:21 verbose #128 > Creating │
00:09:12 verbose #18887 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/1e50fc │
00:09:12 verbose #18888 > > │ 8bee6db0bae991559de569c542a977cc7f6ee8e358cc7e684dd7a2f7f2.svg │
00:09:12 verbose #18889 > > │ 00:00:21 debug #129 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18890 > > │ output.Length: 147 │
00:09:12 verbose #18891 > > │ 00:00:21 debug #130 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18892 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18893 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18894 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18895 > > │ 00:00:21 verbose #131 > Creating │
00:09:12 verbose #18896 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/fbb3fc │
00:09:12 verbose #18897 > > │ 7d0cd000d1f3d5af25ecb9116851889fb7032aa024dd3767bf1dc9de2e.svg │
00:09:12 verbose #18898 > > │ 00:00:21 debug #132 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18899 > > │ output.Length: 147 │
00:09:12 verbose #18900 > > │ 00:00:21 debug #133 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18901 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18902 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18903 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18904 > > │ 00:00:21 verbose #134 > Creating │
00:09:12 verbose #18905 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/a0ee06 │
00:09:12 verbose #18906 > > │ 90d9ef0a1e1547f259ca0d88a4510ec89dc61a7ffe0147e09ea2eb165a.svg │
00:09:12 verbose #18907 > > │ 00:00:21 debug #135 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18908 > > │ output.Length: 147 │
00:09:12 verbose #18909 > > │ 00:00:21 debug #136 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18910 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18911 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18912 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18913 > > │ 00:00:21 verbose #137 > Creating │
00:09:12 verbose #18914 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/8b62f1 │
00:09:12 verbose #18915 > > │ 0b9d3b97068239e496cb7c5aa68b000dc2f78c5eba0b7fa19a7ebdd50c.svg │
00:09:12 verbose #18916 > > │ 00:00:21 debug #138 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18917 > > │ output.Length: 147 │
00:09:12 verbose #18918 > > │ 00:00:21 debug #139 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18919 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18920 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18921 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18922 > > │ 00:00:21 verbose #140 > Creating │
00:09:12 verbose #18923 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/6cc8f1 │
00:09:12 verbose #18924 > > │ c7e432d3649cb9fdf9f9f7b7f384c65eacd3fb94e319272fe70dd633bf.svg │
00:09:12 verbose #18925 > > │ 00:00:21 debug #141 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18926 > > │ output.Length: 147 │
00:09:12 verbose #18927 > > │ 00:00:21 debug #142 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18928 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18929 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18930 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18931 > > │ 00:00:21 verbose #143 > Creating │
00:09:12 verbose #18932 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/ab4069 │
00:09:12 verbose #18933 > > │ 0e836b63af01e2c82ea8febe670e52e11eb049e40c93bb8f8e5cf97c9e.svg │
00:09:12 verbose #18934 > > │ 00:00:21 debug #144 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18935 > > │ output.Length: 147 │
00:09:12 verbose #18936 > > │ 00:00:21 debug #145 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18937 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18938 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18939 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18940 > > │ 00:00:21 verbose #146 > Creating │
00:09:12 verbose #18941 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/4eb829 │
00:09:12 verbose #18942 > > │ ca41667f43116d4631600e2dd123ca25ee7aa279f194251ee36431ea91.svg │
00:09:12 verbose #18943 > > │ 00:00:21 debug #147 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18944 > > │ output.Length: 147 │
00:09:12 verbose #18945 > > │ 00:00:21 debug #148 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18946 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18947 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18948 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18949 > > │ 00:00:21 verbose #149 > Creating │
00:09:12 verbose #18950 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/da621a │
00:09:12 verbose #18951 > > │ 77ae85752953b1719c771c787f3c3594be470ba4dfb5ad8f63ff882412.svg │
00:09:12 verbose #18952 > > │ 00:00:21 debug #150 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18953 > > │ output.Length: 147 │
00:09:12 verbose #18954 > > │ 00:00:21 debug #151 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18955 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18956 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18957 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18958 > > │ 00:00:21 verbose #152 > Creating │
00:09:12 verbose #18959 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/4c133a │
00:09:12 verbose #18960 > > │ 696111e9637bd800e10894b783253b1784f74a3e6562560f4f0d0e1de9.svg │
00:09:12 verbose #18961 > > │ 00:00:21 debug #153 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18962 > > │ output.Length: 147 │
00:09:12 verbose #18963 > > │ 00:00:21 debug #154 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18964 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18965 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18966 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18967 > > │ 00:00:21 verbose #155 > Creating │
00:09:12 verbose #18968 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/b4cf46 │
00:09:12 verbose #18969 > > │ b7a1116f7ff2beea0f19067a0b69d8d2633074b74c7fa2e9419537bbe4.svg │
00:09:12 verbose #18970 > > │ 00:00:21 debug #156 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18971 > > │ output.Length: 147 │
00:09:12 verbose #18972 > > │ 00:00:21 debug #157 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18973 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18974 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18975 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18976 > > │ 00:00:21 verbose #158 > Creating │
00:09:12 verbose #18977 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/8228a6 │
00:09:12 verbose #18978 > > │ 7a385c42598d65c8b0e86e8a53b5c32d9a669f5161004e7021b2aad6e3.svg │
00:09:12 verbose #18979 > > │ 00:00:21 debug #159 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18980 > > │ output.Length: 147 │
00:09:12 verbose #18981 > > │ 00:00:21 debug #160 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18982 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18983 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18984 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18985 > > │ 00:00:21 verbose #161 > Creating │
00:09:12 verbose #18986 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/2d27f0 │
00:09:12 verbose #18987 > > │ a40a52e488f8364971acea754a0034827c30ac23090ccf8e8afe1d5208.svg │
00:09:12 verbose #18988 > > │ 00:00:21 debug #162 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18989 > > │ output.Length: 147 │
00:09:12 verbose #18990 > > │ 00:00:21 debug #163 execute_with_options_async / options: struct (Some │
00:09:12 verbose #18991 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #18992 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #18993 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #18994 > > │ 00:00:21 verbose #164 > Creating │
00:09:12 verbose #18995 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/f39823 │
00:09:12 verbose #18996 > > │ 0047e42f5b9160ad9fa4a4a30d67def46763ac4e778955ca67702061d8.svg │
00:09:12 verbose #18997 > > │ 00:00:21 debug #165 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #18998 > > │ output.Length: 147 │
00:09:12 verbose #18999 > > │ 00:00:21 debug #166 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19000 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19001 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19002 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19003 > > │ 00:00:21 verbose #167 > Creating │
00:09:12 verbose #19004 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/ba31cc │
00:09:12 verbose #19005 > > │ dfae8fca85790e9739a135e4599266c38003ca58db428cf83acd3bb12e.svg │
00:09:12 verbose #19006 > > │ 00:00:21 debug #168 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19007 > > │ output.Length: 147 │
00:09:12 verbose #19008 > > │ 00:00:21 debug #169 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19009 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19010 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19011 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19012 > > │ 00:00:21 verbose #170 > Creating │
00:09:12 verbose #19013 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/780ead │
00:09:12 verbose #19014 > > │ 643b98b8af35c6ffc815ccde029abf9e61684b1372ede9e07e38c947fe.svg │
00:09:12 verbose #19015 > > │ 00:00:21 debug #171 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19016 > > │ output.Length: 147 │
00:09:12 verbose #19017 > > │ 00:00:21 debug #172 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19018 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19019 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19020 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19021 > > │ 00:00:21 verbose #173 > Creating │
00:09:12 verbose #19022 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/10bf80 │
00:09:12 verbose #19023 > > │ 3f5dd7d69401fe1e381285b4d67bb5e2f3a1c11e154f395b0625aaa81a.svg │
00:09:12 verbose #19024 > > │ 00:00:21 debug #174 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19025 > > │ output.Length: 147 │
00:09:12 verbose #19026 > > │ 00:00:21 debug #175 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19027 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19028 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19029 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19030 > > │ 00:00:21 verbose #176 > Creating │
00:09:12 verbose #19031 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/400b1e │
00:09:12 verbose #19032 > > │ 51fa7a142588257ddb414c0a31a2b251bceb6690a25e4dfbdb9b436d1c.svg │
00:09:12 verbose #19033 > > │ 00:00:21 debug #177 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19034 > > │ output.Length: 147 │
00:09:12 verbose #19035 > > │ 00:00:21 debug #178 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19036 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19037 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19038 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19039 > > │ 00:00:21 verbose #179 > Creating │
00:09:12 verbose #19040 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/04074d │
00:09:12 verbose #19041 > > │ cfa8c9444af4bcf09bf944b37caa36f05fb020fa972ae58171bba415e1.svg │
00:09:12 verbose #19042 > > │ 00:00:21 debug #180 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19043 > > │ output.Length: 147 │
00:09:12 verbose #19044 > > │ 00:00:21 debug #181 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19045 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19046 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19047 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19048 > > │ 00:00:21 verbose #182 > Creating │
00:09:12 verbose #19049 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/988cea │
00:09:12 verbose #19050 > > │ 705b16ac29a2007ee4aea8dea72c7adef2889dd956ad5487d25e12b369.svg │
00:09:12 verbose #19051 > > │ 00:00:21 debug #183 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19052 > > │ output.Length: 147 │
00:09:12 verbose #19053 > > │ 00:00:21 debug #184 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19054 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19055 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19056 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19057 > > │ 00:00:21 verbose #185 > Creating │
00:09:12 verbose #19058 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/31ff79 │
00:09:12 verbose #19059 > > │ 312dc9242531f49bdaac4b1ef4df454de8e801dcbaaea5a774015733e9.svg │
00:09:12 verbose #19060 > > │ 00:00:21 debug #186 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19061 > > │ output.Length: 147 │
00:09:12 verbose #19062 > > │ 00:00:21 debug #187 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19063 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19064 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19065 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19066 > > │ 00:00:21 verbose #188 > Creating │
00:09:12 verbose #19067 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/8f2737 │
00:09:12 verbose #19068 > > │ 1f86a551c5ea30fe882e5b6cb3028d89ad84e6c71144dc12250a6f6848.svg │
00:09:12 verbose #19069 > > │ 00:00:21 debug #189 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19070 > > │ output.Length: 147 │
00:09:12 verbose #19071 > > │ 00:00:21 debug #190 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19072 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19073 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19074 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19075 > > │ 00:00:21 verbose #191 > Creating │
00:09:12 verbose #19076 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/afc522 │
00:09:12 verbose #19077 > > │ 22ff828d5c96013fd771aff43b465546b50555499413d4f080e9026d87.svg │
00:09:12 verbose #19078 > > │ 00:00:21 debug #192 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19079 > > │ output.Length: 147 │
00:09:12 verbose #19080 > > │ 00:00:21 debug #193 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19081 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19082 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19083 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19084 > > │ 00:00:21 verbose #194 > Creating │
00:09:12 verbose #19085 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/01e505 │
00:09:12 verbose #19086 > > │ 1d655ef25e1c5e09370fee684bfc2aa1f099acec9c46c60656266b3f8c.svg │
00:09:12 verbose #19087 > > │ 00:00:21 debug #195 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19088 > > │ output.Length: 147 │
00:09:12 verbose #19089 > > │ 00:00:21 debug #196 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19090 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19091 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19092 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19093 > > │ 00:00:21 verbose #197 > Creating │
00:09:12 verbose #19094 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/558842 │
00:09:12 verbose #19095 > > │ 1d5672a19d3d58374d08bff6cbc79cf882258d65127325dd80c4869f31.svg │
00:09:12 verbose #19096 > > │ 00:00:21 debug #198 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19097 > > │ output.Length: 147 │
00:09:12 verbose #19098 > > │ 00:00:21 debug #199 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19099 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19100 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19101 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19102 > > │ 00:00:21 verbose #200 > Creating │
00:09:12 verbose #19103 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/719cf6 │
00:09:12 verbose #19104 > > │ 60228f57fd8847d696090075444289b6dd7fb5fd3d15959d463ff28dd4.svg │
00:09:12 verbose #19105 > > │ 00:00:21 debug #201 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19106 > > │ output.Length: 147 │
00:09:12 verbose #19107 > > │ 00:00:21 debug #202 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19108 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19109 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19110 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19111 > > │ 00:00:21 verbose #203 > Creating │
00:09:12 verbose #19112 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/3937c3 │
00:09:12 verbose #19113 > > │ 09891869cde1782a676801b77a082e459f8541d1e05a7516c2d6a3a72b.svg │
00:09:12 verbose #19114 > > │ 00:00:21 debug #204 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19115 > > │ output.Length: 147 │
00:09:12 verbose #19116 > > │ 00:00:21 debug #205 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19117 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19118 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19119 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19120 > > │ 00:00:21 verbose #206 > Creating │
00:09:12 verbose #19121 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/3d48c9 │
00:09:12 verbose #19122 > > │ 7a72e450bf34cb16f39f9fa7a60c4f643c0f2eb8d8bc1832fda0e3cd54.svg │
00:09:12 verbose #19123 > > │ 00:00:21 debug #207 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19124 > > │ output.Length: 147 │
00:09:12 verbose #19125 > > │ 00:00:21 debug #208 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19126 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19127 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19128 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19129 > > │ 00:00:21 verbose #209 > Creating │
00:09:12 verbose #19130 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/723726 │
00:09:12 verbose #19131 > > │ 570af61bed1daa85181582acdd1a38621d0127fb5bb285a52cbca9c55e.svg │
00:09:12 verbose #19132 > > │ 00:00:21 debug #210 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19133 > > │ output.Length: 147 │
00:09:12 verbose #19134 > > │ 00:00:21 debug #211 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19135 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19136 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19137 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19138 > > │ 00:00:21 verbose #212 > Creating │
00:09:12 verbose #19139 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/41edb0 │
00:09:12 verbose #19140 > > │ d06298b6a2b77e6b0b0f8181d07eae00c470242422c86f2d3a9df20f2c.svg │
00:09:12 verbose #19141 > > │ 00:00:21 debug #213 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19142 > > │ output.Length: 147 │
00:09:12 verbose #19143 > > │ 00:00:21 debug #214 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19144 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19145 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19146 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19147 > > │ 00:00:21 verbose #215 > Creating │
00:09:12 verbose #19148 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/ecdf43 │
00:09:12 verbose #19149 > > │ a5e27f3b426434ff6d5c263120f68db972ab74626ec1f04425e21353be.svg │
00:09:12 verbose #19150 > > │ 00:00:21 debug #216 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19151 > > │ output.Length: 147 │
00:09:12 verbose #19152 > > │ 00:00:21 debug #217 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19153 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19154 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19155 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19156 > > │ 00:00:21 verbose #218 > Creating │
00:09:12 verbose #19157 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/f4e498 │
00:09:12 verbose #19158 > > │ f816d3ebaa61701bfb8382cad124f71ed3342c3db593fdc4baa294e95f.svg │
00:09:12 verbose #19159 > > │ 00:00:21 debug #219 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19160 > > │ output.Length: 147 │
00:09:12 verbose #19161 > > │ 00:00:21 debug #220 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19162 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19163 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19164 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19165 > > │ 00:00:21 verbose #221 > Creating │
00:09:12 verbose #19166 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/d101f6 │
00:09:12 verbose #19167 > > │ 82dfddc088e7579974ced37aa327a3bb1ae0ed5025b005fa24ea15a7dc.svg │
00:09:12 verbose #19168 > > │ 00:00:21 debug #222 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19169 > > │ output.Length: 147 │
00:09:12 verbose #19170 > > │ 00:00:21 debug #223 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19171 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19172 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19173 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19174 > > │ 00:00:21 verbose #224 > Creating │
00:09:12 verbose #19175 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/bc8871 │
00:09:12 verbose #19176 > > │ e382c35fb284103c8eca5f2c1b7b3aabf0dfe7a88637d96bb558d749ab.svg │
00:09:12 verbose #19177 > > │ 00:00:21 debug #225 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19178 > > │ output.Length: 147 │
00:09:12 verbose #19179 > > │ 00:00:21 debug #226 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19180 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19181 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19182 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19183 > > │ 00:00:21 verbose #227 > Creating │
00:09:12 verbose #19184 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/810be9 │
00:09:12 verbose #19185 > > │ 2ead3834fd2f9daf062ebd24ad35f15e24dce54aa82d69e13a2158a733.svg │
00:09:12 verbose #19186 > > │ 00:00:21 debug #228 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19187 > > │ output.Length: 147 │
00:09:12 verbose #19188 > > │ 00:00:21 debug #229 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19189 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19190 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19191 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19192 > > │ 00:00:21 verbose #230 > Creating │
00:09:12 verbose #19193 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/8c23dc │
00:09:12 verbose #19194 > > │ f0c85bba40477a6dc081dfef35f4ea67e9ad5731e1b83eeb9ce13418e0.svg │
00:09:12 verbose #19195 > > │ 00:00:21 debug #231 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19196 > > │ output.Length: 147 │
00:09:12 verbose #19197 > > │ 00:00:21 debug #232 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19198 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19199 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19200 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19201 > > │ 00:00:21 verbose #233 > Creating │
00:09:12 verbose #19202 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/00c798 │
00:09:12 verbose #19203 > > │ 58fdfeff82c9976e8339acf00f55b7911d85d3a5549512a823160750f1.svg │
00:09:12 verbose #19204 > > │ 00:00:21 debug #234 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19205 > > │ output.Length: 147 │
00:09:12 verbose #19206 > > │ 00:00:21 debug #235 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19207 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19208 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19209 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19210 > > │ 00:00:21 verbose #236 > Creating │
00:09:12 verbose #19211 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/248aa1 │
00:09:12 verbose #19212 > > │ 496994a15d405a052aab722597383eb415943b4e9a72c87961aad83430.svg │
00:09:12 verbose #19213 > > │ 00:00:21 debug #237 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19214 > > │ output.Length: 147 │
00:09:12 verbose #19215 > > │ 00:00:21 debug #238 execute_with_options_async / options: struct (Some │
00:09:12 verbose #19216 > > │ System.Threading.CancellationToken, │
00:09:12 verbose #19217 > > │ "/home/runner/work/polyglot/polyglot/workspace/target/release/plot", │
00:09:12 verbose #19218 > > │ [||], None, None, true, Some "/home/runner/work/polyglot/polyglot") │
00:09:12 verbose #19219 > > │ 00:00:21 verbose #239 > Creating │
00:09:12 verbose #19220 > > │ /home/runner/work/polyglot/polyglot/target/polyglot/plotting/line_svg/bede6e │
00:09:12 verbose #19221 > > │ 595697b6a21a1b37ce58511f9e5adf6df47f0174d56d18df06b722c982.svg │
00:09:12 verbose #19222 > > │ 00:00:21 debug #240 execute_with_options_async / exit_code: 0 / │
00:09:12 verbose #19223 > > │ output.Length: 147 │
00:09:12 verbose #19224 > > │ │
00:09:12 verbose #19225 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:12 verbose #19226 > >
00:09:12 verbose #19227 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:12 verbose #19228 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:12 verbose #19229 > > │ ## end │
00:09:12 verbose #19230 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:12 verbose #19231 > 00:00:31 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 242971
00:09:12 verbose #19232 > 00:00:31 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:09:13 verbose #19233 > 00:00:31 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb to html
00:09:13 verbose #19234 > 00:00:31 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:09:13 verbose #19235 > 00:00:31 verbose #7 ! validate(nb)
00:09:13 verbose #19236 > 00:00:32 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:09:13 verbose #19237 > 00:00:32 verbose #9 ! return _pygments_highlight(
00:09:16 verbose #19238 > 00:00:34 verbose #10 ! [NbConvertApp] Writing 2555731 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.html
00:09:16 verbose #19239 > 00:00:34 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 899
00:09:16 verbose #19240 > 00:00:34 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 899
00:09:16 verbose #19241 > 00:00:34 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:09:16 verbose #19242 > 00:00:35 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:09:16 verbose #19243 > 00:00:35 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:09:16 verbose #19244 > 00:00:35 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 243929
00:09:16 debug #19245 execute_with_options_async / exit_code: 0 / output.Length: 254335
00:09:16 debug #23 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path physics.dib --retries 3
00:09:16 debug #19246 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path benchmark.dib --retries 3",
[||], None, None, true, None)
00:09:16 verbose #19247 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "benchmark.dib", "--retries", "3"])
00:09:16 verbose #19248 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:09:18 verbose #19249 > >
00:09:18 verbose #19250 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:18 verbose #19251 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:18 verbose #19252 > > │ ## benchmark (Polyglot) │
00:09:18 verbose #19253 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:18 verbose #19254 > >
00:09:18 verbose #19255 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:18 verbose #19256 > > //// test
00:09:18 verbose #19257 > >
00:09:18 verbose #19258 > > open testing
00:09:18 verbose #19259 > >
00:09:18 verbose #19260 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:09:18 verbose #19261 > > #r
00:09:18 verbose #19262 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:09:18 verbose #19263 > > Net.Interactive.Spiral.dll"
00:09:18 verbose #19264 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:09:18 verbose #19265 > > #r
00:09:18 verbose #19266 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:09:18 verbose #19267 > > Net.Interactive.dll"
00:09:18 verbose #19268 > > open type Microsoft.DotNet.Interactive.Kernel
00:09:20 verbose #19269 > >
00:09:20 verbose #19270 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:20 verbose #19271 > > inl gc_collect () =
00:09:20 verbose #19272 > > run_target function
00:09:20 verbose #19273 > > | Fsharp _ => fun () => $"System.GC.Collect ()"
00:09:20 verbose #19274 > > | _ => fun () => ()
00:09:20 verbose #19275 > >
00:09:20 verbose #19276 > > inl printfn x =
00:09:20 verbose #19277 > > console.write_line x
00:09:20 verbose #19278 > >
00:09:20 verbose #19279 > > nominal stopwatch = $"System.Diagnostics.Stopwatch"
00:09:20 verbose #19280 > >
00:09:20 verbose #19281 > > inl stopwatch () : stopwatch =
00:09:20 verbose #19282 > > $"`stopwatch" ()
00:09:20 verbose #19283 > >
00:09:20 verbose #19284 > > inl stopwatch_elapsed_milliseconds (stopwatch : stopwatch) : i64 =
00:09:20 verbose #19285 > > $"!stopwatch.ElapsedMilliseconds"
00:09:20 verbose #19286 > >
00:09:20 verbose #19287 > > inl stopwatch_start (stopwatch : stopwatch) : () =
00:09:20 verbose #19288 > > $"!stopwatch.Start ()"
00:09:21 verbose #19289 > 00:09:20 debug #874 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/68d866a510c48eac3aa60b327661ee54d8c68bddc7af9ab48e68959ce79b94e3/main.spi
00:09:21 verbose #19290 > >
00:09:21 verbose #19291 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:21 verbose #19292 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:21 verbose #19293 > > │ ## test_case_result │
00:09:21 verbose #19294 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:21 verbose #19295 > >
00:09:21 verbose #19296 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:21 verbose #19297 > > type test_case_result =
00:09:21 verbose #19298 > > {
00:09:21 verbose #19299 > > Input : string
00:09:21 verbose #19300 > > Expected : string
00:09:21 verbose #19301 > > Result : string
00:09:21 verbose #19302 > > TimeList : a u64 i64
00:09:21 verbose #19303 > > }
00:09:21 verbose #19304 > 00:09:20 debug #875 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/44d82a54ac9a10c147100ad9d0dcb28051d3a8f689def06c73fd8ca05613152a/main.spi
00:09:21 verbose #19305 > >
00:09:21 verbose #19306 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:21 verbose #19307 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:21 verbose #19308 > > │ ## run │
00:09:21 verbose #19309 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:21 verbose #19310 > >
00:09:21 verbose #19311 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:21 verbose #19312 > > inl run forall input expected.
00:09:21 verbose #19313 > > count
00:09:21 verbose #19314 > > (solutions : list (string * (input -> expected)))
00:09:21 verbose #19315 > > ((input, expected) : (input * expected))
00:09:21 verbose #19316 > > : test_case_result
00:09:21 verbose #19317 > > =
00:09:21 verbose #19318 > > inl input_str = input |> sm'.format_debug
00:09:21 verbose #19319 > >
00:09:21 verbose #19320 > > printfn ""
00:09:21 verbose #19321 > > printfn ($"$\"Solution: {!input_str} \"" : string)
00:09:21 verbose #19322 > >
00:09:21 verbose #19323 > > inl performance_invoke (fn : () -> expected) =
00:09:21 verbose #19324 > > gc_collect ()
00:09:21 verbose #19325 > > inl stopwatch = stopwatch ()
00:09:21 verbose #19326 > > stopwatch |> stopwatch_start
00:09:21 verbose #19327 > > inl time1 = stopwatch |> stopwatch_elapsed_milliseconds
00:09:21 verbose #19328 > > inl result : expected =
00:09:21 verbose #19329 > > am'.init_series 0 count 1i32
00:09:21 verbose #19330 > > |> am'.parallel_map fun _n => fn ()
00:09:21 verbose #19331 > > |> am'.last
00:09:21 verbose #19332 > > inl time2 = (stopwatch |> stopwatch_elapsed_milliseconds) - time1
00:09:21 verbose #19333 > > result, time2
00:09:21 verbose #19334 > >
00:09:21 verbose #19335 > > inl results_with_time : a u64 _ =
00:09:21 verbose #19336 > > solutions
00:09:21 verbose #19337 > > |> listm'.indexed
00:09:21 verbose #19338 > > |> listm.toArray
00:09:21 verbose #19339 > > |> am.map fun ((i : i32), (test_name, solution)) =>
00:09:21 verbose #19340 > > inl result, time = performance_invoke fun () => solution input
00:09:21 verbose #19341 > > printfn ($"$\"Test case {!i + 1}. {!test_name}. Time: {!time} \"" :
00:09:21 verbose #19342 > > string)
00:09:21 verbose #19343 > > result, time
00:09:21 verbose #19344 > >
00:09:21 verbose #19345 > > match results_with_time |> am.map fst with
00:09:21 verbose #19346 > > | array when length array <= 1 => ()
00:09:21 verbose #19347 > > | array when array |> am.forall' ((=) (index array 0)) => ()
00:09:21 verbose #19348 > > | results => failwith ($"$\"Challenge error: {!results}\"" : string)
00:09:21 verbose #19349 > >
00:09:21 verbose #19350 > > {
00:09:21 verbose #19351 > > Input = input_str
00:09:21 verbose #19352 > > Expected = expected |> sm'.format_debug
00:09:21 verbose #19353 > > Result = results_with_time |> am.map fst |> fun array => index array 0
00:09:21 verbose #19354 > > |> sm'.format_debug
00:09:21 verbose #19355 > > TimeList = results_with_time |> am.map snd
00:09:21 verbose #19356 > > }
00:09:21 verbose #19357 > 00:09:20 debug #876 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/75790228e1ed57d26960100af8359abc451331274c4b06ee4f5dbfb4c345ece1/main.spi
00:09:21 verbose #19358 > >
00:09:21 verbose #19359 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:21 verbose #19360 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:21 verbose #19361 > > │ ## run_all │
00:09:21 verbose #19362 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:21 verbose #19363 > >
00:09:21 verbose #19364 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:21 verbose #19365 > > inl run_all forall input expected.
00:09:21 verbose #19366 > > test_name
00:09:21 verbose #19367 > > count
00:09:21 verbose #19368 > > (solutions : list (string * (input -> expected)))
00:09:21 verbose #19369 > > test_cases
00:09:21 verbose #19370 > > =
00:09:21 verbose #19371 > > printfn ""
00:09:21 verbose #19372 > > printfn ""
00:09:21 verbose #19373 > > printfn ($"$\"Test: {!test_name}\"" : string)
00:09:21 verbose #19374 > > test_cases
00:09:21 verbose #19375 > > |> listm.toArray
00:09:21 verbose #19376 > > |> am.map (run count solutions)
00:09:21 verbose #19377 > 00:09:20 debug #877 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e833c7ad75190c9711b75d360fbae73ae1eb83311605ff156f6b98fe168afbc5/main.spi
00:09:21 verbose #19378 > >
00:09:21 verbose #19379 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:21 verbose #19380 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:21 verbose #19381 > > │ ## sort_result_list │
00:09:21 verbose #19382 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:21 verbose #19383 > >
00:09:21 verbose #19384 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:21 verbose #19385 > > inl sort_result_list results =
00:09:21 verbose #19386 > > inl table =
00:09:21 verbose #19387 > > inl rows =
00:09:21 verbose #19388 > > results
00:09:21 verbose #19389 > > |> am.map fun (result : test_case_result) =>
00:09:21 verbose #19390 > > inl best =
00:09:21 verbose #19391 > > result.TimeList
00:09:21 verbose #19392 > > |> am'.indexed
00:09:21 verbose #19393 > > |> am.map fun (i, time) =>
00:09:21 verbose #19394 > > i + 1i64, time
00:09:21 verbose #19395 > > |> am'.sort_by snd
00:09:21 verbose #19396 > > |> fun array => index array 0i32
00:09:21 verbose #19397 > > |> sm'.format_debug
00:09:21 verbose #19398 > > inl row =
00:09:21 verbose #19399 > > [[
00:09:21 verbose #19400 > > result.Input
00:09:21 verbose #19401 > > result.Expected
00:09:21 verbose #19402 > > result.Result
00:09:21 verbose #19403 > > best
00:09:21 verbose #19404 > > ]]
00:09:21 verbose #19405 > > inl color : option console.console_color =
00:09:21 verbose #19406 > > open console
00:09:21 verbose #19407 > > match result.Expected = result.Result with
00:09:21 verbose #19408 > > | true => Some $"`console_color.DarkGreen"
00:09:21 verbose #19409 > > | false => Some $"`console_color.DarkRed"
00:09:21 verbose #19410 > > row, color
00:09:21 verbose #19411 > >
00:09:21 verbose #19412 > > inl header =
00:09:21 verbose #19413 > > [[
00:09:21 verbose #19414 > > [[
00:09:21 verbose #19415 > > "Input"
00:09:21 verbose #19416 > > "Expected"
00:09:21 verbose #19417 > > "Result"
00:09:21 verbose #19418 > > "Best"
00:09:21 verbose #19419 > > ]]
00:09:21 verbose #19420 > > [[
00:09:21 verbose #19421 > > "---"
00:09:21 verbose #19422 > > "---"
00:09:21 verbose #19423 > > "---"
00:09:21 verbose #19424 > > "---"
00:09:21 verbose #19425 > > ]]
00:09:21 verbose #19426 > > ]]
00:09:21 verbose #19427 > > |> listm.map fun row => row, None
00:09:21 verbose #19428 > > |> listm.toArray
00:09:21 verbose #19429 > > rows |> am.append header
00:09:21 verbose #19430 > >
00:09:21 verbose #19431 > > inl formattedTable =
00:09:21 verbose #19432 > > inl lengthMap : mapm.map i32 i64 =
00:09:21 verbose #19433 > > table
00:09:21 verbose #19434 > > |> am.map (fst >> listm.toArray)
00:09:21 verbose #19435 > > |> am'.transpose
00:09:21 verbose #19436 > > |> am.map fun column =>
00:09:21 verbose #19437 > > column
00:09:21 verbose #19438 > > |> am.map sm.length
00:09:21 verbose #19439 > > |> am'.sort_descending
00:09:21 verbose #19440 > > |> am'.try_item 0i32
00:09:21 verbose #19441 > > |> optionm'.default_value 0i64
00:09:21 verbose #19442 > > |> am'.indexed
00:09:21 verbose #19443 > > |> fun (x : a i32 _) => x
00:09:21 verbose #19444 > > |> mapm.of_array
00:09:21 verbose #19445 > > table
00:09:21 verbose #19446 > > |> am.map fun (row, color) =>
00:09:21 verbose #19447 > > inl newRow =
00:09:21 verbose #19448 > > row
00:09:21 verbose #19449 > > |> listm'.indexed
00:09:21 verbose #19450 > > |> listm.map fun (i, cell) =>
00:09:21 verbose #19451 > > cell |> sm'.pad_right (lengthMap |> mapm.item i |> conv) ' '
00:09:21 verbose #19452 > > |> listm.toArray
00:09:21 verbose #19453 > > newRow, color
00:09:21 verbose #19454 > >
00:09:21 verbose #19455 > > printfn ""
00:09:21 verbose #19456 > > formattedTable
00:09:21 verbose #19457 > > |> am.iter fun ((row : a i32 string), color) =>
00:09:21 verbose #19458 > > match color with
00:09:21 verbose #19459 > > | Some color => color |> console.set_foreground_color
00:09:21 verbose #19460 > > | None => console.reset_color ()
00:09:21 verbose #19461 > >
00:09:21 verbose #19462 > > printfn (row |> sm'.join' "\t| ")
00:09:21 verbose #19463 > >
00:09:21 verbose #19464 > > console.reset_color ()
00:09:21 verbose #19465 > >
00:09:21 verbose #19466 > > inl averages : a u64 _ =
00:09:21 verbose #19467 > > results
00:09:21 verbose #19468 > > |> am.map fun result =>
00:09:21 verbose #19469 > > result.TimeList
00:09:21 verbose #19470 > > |> am.map ($"float" : i64 -> f64)
00:09:21 verbose #19471 > > |> am'.transpose
00:09:21 verbose #19472 > > |> am.map am'.average
00:09:21 verbose #19473 > > |> am.map ($"int64" : f64 -> i64)
00:09:21 verbose #19474 > > |> am'.indexed
00:09:21 verbose #19475 > >
00:09:21 verbose #19476 > > printfn ""
00:09:21 verbose #19477 > > printfn "Average Ranking "
00:09:21 verbose #19478 > > averages
00:09:21 verbose #19479 > > |> am'.sort_by snd
00:09:21 verbose #19480 > > |> am.iter fun ((i : i32), avg) =>
00:09:21 verbose #19481 > > printfn ($"$\"Test case %d{!i + 1}. Average Time: %A{!avg} \"" :
00:09:21 verbose #19482 > > string)
00:09:21 verbose #19483 > 00:09:21 debug #878 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e28be3b51e2d5e983dba1edc4c3acce85a96f7d0bec65a7172005ff68dd07033/main.spi
00:09:21 verbose #19484 > >
00:09:21 verbose #19485 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:21 verbose #19486 > > //// test
00:09:21 verbose #19487 > >
00:09:21 verbose #19488 > > inl is_fast () =
00:09:21 verbose #19489 > > false
00:09:21 verbose #19490 > 00:09:21 debug #879 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3a0387cecd75ecb9c298f465f9e7916b9ba97eccce2a4e5cf38f228510b40247/main.spi
00:09:21 verbose #19491 > >
00:09:21 verbose #19492 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:21 verbose #19493 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:21 verbose #19494 > > │ ## empty2Tests │
00:09:21 verbose #19495 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:21 verbose #19496 > >
00:09:21 verbose #19497 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:21 verbose #19498 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:21 verbose #19499 > > │ Test: Empty2 │
00:09:21 verbose #19500 > > │ │
00:09:21 verbose #19501 > > │ Solution: (a, a) │
00:09:21 verbose #19502 > > │ Test case 1. A. Time: 59L │
00:09:21 verbose #19503 > > │ │
00:09:21 verbose #19504 > > │ Solution: (a, a) │
00:09:21 verbose #19505 > > │ Test case 1. A. Time: 53L │
00:09:21 verbose #19506 > > │ │
00:09:21 verbose #19507 > > │ Input | Expected | Result | Best │
00:09:21 verbose #19508 > > │ --- | --- | --- | --- │
00:09:21 verbose #19509 > > │ (a, a) | a | a | (1, 59) │
00:09:21 verbose #19510 > > │ (a, a) | a | a | (1, 53) │
00:09:21 verbose #19511 > > │ │
00:09:21 verbose #19512 > > │ Averages │
00:09:21 verbose #19513 > > │ Test case 1. Average Time: 56L │
00:09:21 verbose #19514 > > │ │
00:09:21 verbose #19515 > > │ Ranking │
00:09:21 verbose #19516 > > │ Test case 1. Average Time: 56L │
00:09:21 verbose #19517 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:21 verbose #19518 > >
00:09:21 verbose #19519 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:21 verbose #19520 > > //// test
00:09:21 verbose #19521 > >
00:09:21 verbose #19522 > > inl get_solutions () =
00:09:21 verbose #19523 > > [[
00:09:21 verbose #19524 > > "A",
00:09:21 verbose #19525 > > fun (a, _b) =>
00:09:21 verbose #19526 > > a
00:09:21 verbose #19527 > >
00:09:21 verbose #19528 > > "B",
00:09:21 verbose #19529 > > fun (_a, b) =>
00:09:21 verbose #19530 > > b
00:09:21 verbose #19531 > > ]]
00:09:21 verbose #19532 > >
00:09:21 verbose #19533 > > inl rec empty_2_tests () =
00:09:21 verbose #19534 > > inl test_cases = [[
00:09:21 verbose #19535 > > ("a", "a"), "a"
00:09:21 verbose #19536 > > ("b", "b"), "b"
00:09:21 verbose #19537 > > ]]
00:09:21 verbose #19538 > >
00:09:21 verbose #19539 > > inl solutions = get_solutions ()
00:09:21 verbose #19540 > >
00:09:21 verbose #19541 > > // inl is_fast () = true
00:09:21 verbose #19542 > >
00:09:21 verbose #19543 > > inl count =
00:09:21 verbose #19544 > > if is_fast ()
00:09:21 verbose #19545 > > then 1000i32
00:09:21 verbose #19546 > > else 2000000i32
00:09:21 verbose #19547 > >
00:09:21 verbose #19548 > > run_all (nameof empty_2_tests) count solutions test_cases
00:09:21 verbose #19549 > > |> sort_result_list
00:09:21 verbose #19550 > >
00:09:21 verbose #19551 > > empty_2_tests ()
00:09:21 verbose #19552 > 00:09:21 debug #880 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9c2369750e79183fa8b4fe0bd517d710ce0f38d9b6afdd551eba1b694859c5db/main.spi
00:09:28 verbose #19553 > >
00:09:28 verbose #19554 > > ╭─[ 6.74s - stdout ]───────────────────────────────────────────────────────────╮
00:09:28 verbose #19555 > > │ │
00:09:28 verbose #19556 > > │ │
00:09:28 verbose #19557 > > │ Test: v0 │
00:09:28 verbose #19558 > > │ │
00:09:28 verbose #19559 > > │ Solution: struct ("a", "a") │
00:09:28 verbose #19560 > > │ Test case 1. A. Time: 23 │
00:09:28 verbose #19561 > > │ Test case 2. B. Time: 12 │
00:09:28 verbose #19562 > > │ │
00:09:28 verbose #19563 > > │ Solution: struct ("b", "b") │
00:09:28 verbose #19564 > > │ Test case 1. A. Time: 13 │
00:09:28 verbose #19565 > > │ Test case 2. B. Time: 12 │
00:09:28 verbose #19566 > > │ │
00:09:28 verbose #19567 > > │ Input | Expected | Result | Best │
00:09:28 verbose #19568 > > │ --- | --- | --- | --- │
00:09:28 verbose #19569 > > │ struct ("a", "a") | "a" | "a" | struct (2L, 12L) │
00:09:28 verbose #19570 > > │ struct ("b", "b") | "b" | "b" | struct (2L, 12L) │
00:09:28 verbose #19571 > > │ │
00:09:28 verbose #19572 > > │ Average Ranking │
00:09:28 verbose #19573 > > │ Test case 2. Average Time: 12L │
00:09:28 verbose #19574 > > │ Test case 1. Average Time: 18L │
00:09:28 verbose #19575 > > │ │
00:09:28 verbose #19576 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:28 verbose #19577 > >
00:09:28 verbose #19578 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:28 verbose #19579 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:28 verbose #19580 > > │ ## emptyTests │
00:09:28 verbose #19581 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:28 verbose #19582 > >
00:09:28 verbose #19583 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:28 verbose #19584 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:28 verbose #19585 > > │ Test: Empty │
00:09:28 verbose #19586 > > │ │
00:09:28 verbose #19587 > > │ Solution: 0 │
00:09:28 verbose #19588 > > │ Test case 1. A. Time: 61L │
00:09:28 verbose #19589 > > │ │
00:09:28 verbose #19590 > > │ Solution: 2 │
00:09:28 verbose #19591 > > │ Test case 1. A. Time: 62L │
00:09:28 verbose #19592 > > │ │
00:09:28 verbose #19593 > > │ Solution: 5 │
00:09:28 verbose #19594 > > │ Test case 1. A. Time: 70L │
00:09:28 verbose #19595 > > │ │
00:09:28 verbose #19596 > > │ Input | Expected | Result | Best │
00:09:28 verbose #19597 > > │ --- | --- | --- | --- │
00:09:28 verbose #19598 > > │ 0 | 0 | 0 | (1, 61) │
00:09:28 verbose #19599 > > │ 2 | 2 | 2 | (1, 62) │
00:09:28 verbose #19600 > > │ 5 | 5 | 5 | (1, 70) │
00:09:28 verbose #19601 > > │ │
00:09:28 verbose #19602 > > │ Averages │
00:09:28 verbose #19603 > > │ Test case 1. Average Time: 64L │
00:09:28 verbose #19604 > > │ │
00:09:28 verbose #19605 > > │ Ranking │
00:09:28 verbose #19606 > > │ Test case 1. Average Time: 64L │
00:09:28 verbose #19607 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:28 verbose #19608 > >
00:09:28 verbose #19609 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:28 verbose #19610 > > //// test
00:09:28 verbose #19611 > >
00:09:28 verbose #19612 > > inl get_solutions () =
00:09:28 verbose #19613 > > [[
00:09:28 verbose #19614 > > "A",
00:09:28 verbose #19615 > > fun n =>
00:09:28 verbose #19616 > > n + 1f64
00:09:28 verbose #19617 > > ]]
00:09:28 verbose #19618 > >
00:09:28 verbose #19619 > > inl rec empty_1_tests () =
00:09:28 verbose #19620 > > inl test_cases = [[
00:09:28 verbose #19621 > > 0, 1
00:09:28 verbose #19622 > > 2, 3
00:09:28 verbose #19623 > > 5, 6
00:09:28 verbose #19624 > > ]]
00:09:28 verbose #19625 > >
00:09:28 verbose #19626 > > inl solutions = get_solutions ()
00:09:28 verbose #19627 > >
00:09:28 verbose #19628 > > // inl is_fast () = true
00:09:28 verbose #19629 > >
00:09:28 verbose #19630 > > inl count =
00:09:28 verbose #19631 > > if is_fast ()
00:09:28 verbose #19632 > > then 1000i32
00:09:28 verbose #19633 > > else 2000000i32
00:09:28 verbose #19634 > >
00:09:28 verbose #19635 > > run_all (nameof empty_1_tests) count solutions test_cases
00:09:28 verbose #19636 > > |> sort_result_list
00:09:28 verbose #19637 > >
00:09:28 verbose #19638 > > empty_1_tests ()
00:09:28 verbose #19639 > 00:09:27 debug #881 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5258e7c76b5977380b9ee45a8fba42a60da32f5c16561c7b3342b2736121485f/main.spi
00:09:31 verbose #19640 > >
00:09:31 verbose #19641 > > ╭─[ 3.12s - stdout ]───────────────────────────────────────────────────────────╮
00:09:31 verbose #19642 > > │ │
00:09:31 verbose #19643 > > │ │
00:09:31 verbose #19644 > > │ Test: v0 │
00:09:31 verbose #19645 > > │ │
00:09:31 verbose #19646 > > │ Solution: 0.0 │
00:09:31 verbose #19647 > > │ Test case 1. A. Time: 22 │
00:09:31 verbose #19648 > > │ │
00:09:31 verbose #19649 > > │ Solution: 2.0 │
00:09:31 verbose #19650 > > │ Test case 1. A. Time: 14 │
00:09:31 verbose #19651 > > │ │
00:09:31 verbose #19652 > > │ Solution: 5.0 │
00:09:31 verbose #19653 > > │ Test case 1. A. Time: 19 │
00:09:31 verbose #19654 > > │ │
00:09:31 verbose #19655 > > │ Input | Expected | Result | Best │
00:09:31 verbose #19656 > > │ --- | --- | --- | --- │
00:09:31 verbose #19657 > > │ 0.0 | 1.0 | 1.0 | struct (1L, 22L) │
00:09:31 verbose #19658 > > │ 2.0 | 3.0 | 3.0 | struct (1L, 14L) │
00:09:31 verbose #19659 > > │ 5.0 | 6.0 | 6.0 | struct (1L, 19L) │
00:09:31 verbose #19660 > > │ │
00:09:31 verbose #19661 > > │ Average Ranking │
00:09:31 verbose #19662 > > │ Test case 1. Average Time: 18L │
00:09:31 verbose #19663 > > │ │
00:09:31 verbose #19664 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:31 verbose #19665 > 00:00:14 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 20625
00:09:31 verbose #19666 > 00:00:14 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:09:32 verbose #19667 > 00:00:15 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb to html
00:09:32 verbose #19668 > 00:00:15 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:09:32 verbose #19669 > 00:00:15 verbose #7 ! validate(nb)
00:09:32 verbose #19670 > 00:00:15 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:09:32 verbose #19671 > 00:00:15 verbose #9 ! return _pygments_highlight(
00:09:32 verbose #19672 > 00:00:16 verbose #10 ! [NbConvertApp] Writing 310548 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.html
00:09:32 verbose #19673 > 00:00:16 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 902
00:09:32 verbose #19674 > 00:00:16 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 902
00:09:32 verbose #19675 > 00:00:16 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:09:33 verbose #19676 > 00:00:16 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:09:33 verbose #19677 > 00:00:16 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:09:33 verbose #19678 > 00:00:16 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 21586
00:09:33 debug #19679 execute_with_options_async / exit_code: 0 / output.Length: 24824
00:09:33 debug #24 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path benchmark.dib --retries 3
00:09:33 debug #19680 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path file_system.dib --retries 3",
[||], None, None, true, None)
00:09:33 verbose #19681 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "file_system.dib", "--retries", "3"])
00:09:33 verbose #19682 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:09:34 verbose #19683 > >
00:09:34 verbose #19684 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:34 verbose #19685 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:34 verbose #19686 > > │ # file_system │
00:09:34 verbose #19687 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:34 verbose #19688 > >
00:09:34 verbose #19689 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:34 verbose #19690 > > open sm'_operators
00:09:34 verbose #19691 > > open rust_operators
00:09:34 verbose #19692 > >
00:09:34 verbose #19693 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:09:34 verbose #19694 > > #r
00:09:34 verbose #19695 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:09:34 verbose #19696 > > Net.Interactive.Spiral.dll"
00:09:34 verbose #19697 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:09:34 verbose #19698 > > #r
00:09:34 verbose #19699 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:09:34 verbose #19700 > > Net.Interactive.dll"
00:09:34 verbose #19701 > > open type Microsoft.DotNet.Interactive.Kernel
00:09:37 verbose #19702 > 00:09:36 debug #882 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f70a6ceda54464ad2262592408f2345279274c3c23c9e1b17e7a0fedac8c776/main.spi
00:09:37 verbose #19703 > >
00:09:37 verbose #19704 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:37 verbose #19705 > > //// test
00:09:37 verbose #19706 > >
00:09:37 verbose #19707 > > open testing
00:09:37 verbose #19708 > 00:09:37 debug #883 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b3d29279adf259e1843682c84feccb45d80dd3ffbb83f4467e9c79ea3b957629/main.spi
00:09:37 verbose #19709 > >
00:09:37 verbose #19710 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:37 verbose #19711 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:37 verbose #19712 > > │ ## types │
00:09:37 verbose #19713 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:37 verbose #19714 > >
00:09:37 verbose #19715 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:37 verbose #19716 > > inl types () =
00:09:37 verbose #19717 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19718 > > Fable.Core.Emit(\"std::fs::File\")>]]\n#endif\ntype std_fs_File = class end"
00:09:37 verbose #19719 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19720 > > Fable.Core.Emit(\"std::fs::FileType\")>]]\n#endif\ntype std_fs_FileType = class
00:09:37 verbose #19721 > > end"
00:09:37 verbose #19722 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19723 > > Fable.Core.Emit(\"std::path::Display\")>]]\n#endif\ntype std_path_Display =
00:09:37 verbose #19724 > > class end"
00:09:37 verbose #19725 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19726 > > Fable.Core.Emit(\"std::path::Path\")>]]\n#endif\ntype std_path_Path = class end"
00:09:37 verbose #19727 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19728 > > Fable.Core.Emit(\"std::path::PathBuf\")>]]\n#endif\ntype std_path_PathBuf =
00:09:37 verbose #19729 > > class end"
00:09:37 verbose #19730 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19731 > > Fable.Core.Emit(\"async_walkdir::DirEntry\")>]]\n#endif\ntype
00:09:37 verbose #19732 > > async_walkdir_DirEntry = class end"
00:09:37 verbose #19733 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19734 > > Fable.Core.Emit(\"async_walkdir::Filtering\")>]]\n#endif\ntype
00:09:37 verbose #19735 > > async_walkdir_Filtering = class end"
00:09:37 verbose #19736 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:09:37 verbose #19737 > > Fable.Core.Emit(\"async_walkdir::WalkDir\")>]]\n#endif\ntype
00:09:37 verbose #19738 > > async_walkdir_WalkDir = class end"
00:09:37 verbose #19739 > 00:09:37 debug #884 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/413027bfab36b8a433f2b092c2336495448aa1d070368168ccc998b246d87d06/main.spi
00:09:37 verbose #19740 > >
00:09:37 verbose #19741 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:37 verbose #19742 > > inl types () =
00:09:37 verbose #19743 > > types ()
00:09:37 verbose #19744 > > date_time.types ()
00:09:37 verbose #19745 > > env.types ()
00:09:37 verbose #19746 > > rust.types ()
00:09:37 verbose #19747 > > sm'.types ()
00:09:37 verbose #19748 > > stream.types ()
00:09:37 verbose #19749 > 00:09:37 debug #885 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6f32c19b21ff05cffe4e6c8a0607202103d98c5aa99ac03bc17616a9d0ec3aab/main.spi
00:09:38 verbose #19750 > >
00:09:38 verbose #19751 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19752 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19753 > > │ ## file_mode │
00:09:38 verbose #19754 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19755 > >
00:09:38 verbose #19756 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19757 > > nominal file_mode' = $'System.IO.FileMode'
00:09:38 verbose #19758 > >
00:09:38 verbose #19759 > > union file_mode =
00:09:38 verbose #19760 > > | ModeCreateNew
00:09:38 verbose #19761 > > | ModeCreate
00:09:38 verbose #19762 > > | ModeOpen
00:09:38 verbose #19763 > > | ModeOpenOrCreate
00:09:38 verbose #19764 > > | Truncate
00:09:38 verbose #19765 > > | Append
00:09:38 verbose #19766 > >
00:09:38 verbose #19767 > > inl file_mode = function
00:09:38 verbose #19768 > > | ModeCreateNew => $'System.IO.FileMode.CreateNew' : file_mode'
00:09:38 verbose #19769 > > | ModeCreate => $'System.IO.FileMode.Create' : file_mode'
00:09:38 verbose #19770 > > | ModeOpen => $'System.IO.FileMode.Open' : file_mode'
00:09:38 verbose #19771 > > | ModeOpenOrCreate => $'System.IO.FileMode.OpenOrCreate' : file_mode'
00:09:38 verbose #19772 > > | Truncate => $'System.IO.FileMode.Truncate' : file_mode'
00:09:38 verbose #19773 > > | Append => $'System.IO.FileMode.Append' : file_mode'
00:09:38 verbose #19774 > 00:09:37 debug #886 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6cd369c958fc9f41264692e5bae2492d5664349dcf16d132e7c419504be0d363/main.spi
00:09:38 verbose #19775 > >
00:09:38 verbose #19776 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19777 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19778 > > │ ## file_access │
00:09:38 verbose #19779 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19780 > >
00:09:38 verbose #19781 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19782 > > nominal file_access' = $'System.IO.FileAccess'
00:09:38 verbose #19783 > >
00:09:38 verbose #19784 > > union file_access =
00:09:38 verbose #19785 > > | AccessRead
00:09:38 verbose #19786 > > | AccessWrite
00:09:38 verbose #19787 > > | AccessReadWrite
00:09:38 verbose #19788 > >
00:09:38 verbose #19789 > > inl file_access = function
00:09:38 verbose #19790 > > | AccessRead => $'System.IO.FileAccess.Read' : file_access'
00:09:38 verbose #19791 > > | AccessWrite => $'System.IO.FileAccess.ReadWrite' : file_access'
00:09:38 verbose #19792 > > | AccessReadWrite => $'System.IO.FileAccess.ReadWrite' : file_access'
00:09:38 verbose #19793 > 00:09:38 debug #887 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/224eff31affd1dcbf2d5e7b503c980b2c98fcb7874ea79451f9a373d94eb6b70/main.spi
00:09:38 verbose #19794 > >
00:09:38 verbose #19795 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19796 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19797 > > │ ## file_share │
00:09:38 verbose #19798 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19799 > >
00:09:38 verbose #19800 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19801 > > nominal file_share' = $'System.IO.FileShare'
00:09:38 verbose #19802 > >
00:09:38 verbose #19803 > > union file_share =
00:09:38 verbose #19804 > > | ShareNone
00:09:38 verbose #19805 > > | ShareRead
00:09:38 verbose #19806 > > | ShareWrite
00:09:38 verbose #19807 > > | ShareReadWrite
00:09:38 verbose #19808 > > | ShareDelete
00:09:38 verbose #19809 > >
00:09:38 verbose #19810 > > inl file_share = function
00:09:38 verbose #19811 > > | ShareNone => $'System.IO.FileShare.None' : file_share'
00:09:38 verbose #19812 > > | ShareRead => $'System.IO.FileShare.Read' : file_share'
00:09:38 verbose #19813 > > | ShareWrite => $'System.IO.FileShare.Write' : file_share'
00:09:38 verbose #19814 > > | ShareReadWrite => $'System.IO.FileShare.ReadWrite' : file_share'
00:09:38 verbose #19815 > > | ShareDelete => $'System.IO.FileShare.Delete' : file_share'
00:09:38 verbose #19816 > 00:09:38 debug #888 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c5cf1787254d6f11b11f744589817f3630622184d78c92673249f203c4e998cb/main.spi
00:09:38 verbose #19817 > >
00:09:38 verbose #19818 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19819 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19820 > > │ ## file_stream │
00:09:38 verbose #19821 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19822 > >
00:09:38 verbose #19823 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19824 > > nominal file_stream' = $'System.IO.FileStream'
00:09:38 verbose #19825 > >
00:09:38 verbose #19826 > > inl file_stream (path : string) mode access share : file_stream' =
00:09:38 verbose #19827 > > run_target function
00:09:38 verbose #19828 > > | Fsharp (Native) => fun () =>
00:09:38 verbose #19829 > > inl mode = mode |> file_mode
00:09:38 verbose #19830 > > inl access = access |> file_access
00:09:38 verbose #19831 > > inl share = share |> file_share
00:09:38 verbose #19832 > > $'new System.IO.FileStream (!path, !mode, !access, !share)'
00:09:38 verbose #19833 > > | _ => fun () => null ()
00:09:38 verbose #19834 > 00:09:38 debug #889 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/64544558b98fe8288cfda2257ae8ba12fb363611dba9c6dd863ac6f3c1de7eab/main.spi
00:09:38 verbose #19835 > >
00:09:38 verbose #19836 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19837 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19838 > > │ ## display │
00:09:38 verbose #19839 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19840 > >
00:09:38 verbose #19841 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19842 > > nominal display = $'std_path_Display'
00:09:38 verbose #19843 > 00:09:38 debug #890 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/857dba33d3d7d2d36ffb2581336cac3006d0b93cc50793d99677b5290e25a3b2/main.spi
00:09:38 verbose #19844 > >
00:09:38 verbose #19845 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19846 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19847 > > │ ## path │
00:09:38 verbose #19848 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19849 > >
00:09:38 verbose #19850 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19851 > > nominal path = $'std_path_Path'
00:09:38 verbose #19852 > > nominal path = $'std_path_Path'
00:09:38 verbose #19853 > > nominal path_buf = $'std_path_PathBuf'
00:09:38 verbose #19854 > 00:09:38 debug #891 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/744b4573dec3db8b83e82d9010a375f5bba04f38c5e38a6000f535310935dd21/main.spi
00:09:38 verbose #19855 > >
00:09:38 verbose #19856 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19857 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19858 > > │ ## new_path_buf │
00:09:38 verbose #19859 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19860 > >
00:09:38 verbose #19861 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19862 > > inl new_path_buf (path : sm'.std_string) : path_buf =
00:09:38 verbose #19863 > > open rust_operators
00:09:38 verbose #19864 > > !\\(path, $'"std::path::PathBuf::from($0)"')
00:09:38 verbose #19865 > 00:09:38 debug #892 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b51569c9d0986c21a1844a3c0fd06bceb7f39dd69d33e360ac2e7acb78725a3c/main.spi
00:09:38 verbose #19866 > >
00:09:38 verbose #19867 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:38 verbose #19868 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:38 verbose #19869 > > │ ## path_buf_from │
00:09:38 verbose #19870 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:38 verbose #19871 > >
00:09:38 verbose #19872 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:38 verbose #19873 > > inl path_buf_from (path : rust.box path) : path_buf =
00:09:38 verbose #19874 > > open rust_operators
00:09:38 verbose #19875 > > !\\(path, $'"std::path::PathBuf::from($0)"')
00:09:38 verbose #19876 > 00:09:38 debug #893 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e5889f8d62c60433d062072e5b9ee5808abd83dfd7213ba0b37ef268cf13d2aa/main.spi
00:09:39 verbose #19877 > >
00:09:39 verbose #19878 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19879 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19880 > > │ ## path_buf_join │
00:09:39 verbose #19881 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19882 > >
00:09:39 verbose #19883 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19884 > > inl path_buf_join (s : string) (path_buf : path_buf) : path_buf =
00:09:39 verbose #19885 > > open rust_operators
00:09:39 verbose #19886 > > !\\((path_buf, s |> sm'.to_std_string), $'"$0.join($1)"')
00:09:39 verbose #19887 > 00:09:38 debug #894 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/61bac67334ddc17ece9c5750c8f83f48dad22b96fe6705a78b1151eec8a2b940/main.spi
00:09:39 verbose #19888 > >
00:09:39 verbose #19889 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19890 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19891 > > │ ## path_buf_strip_prefix │
00:09:39 verbose #19892 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19893 > >
00:09:39 verbose #19894 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19895 > > inl path_buf_strip_prefix (s : string) (path_buf : path_buf) : path_buf =
00:09:39 verbose #19896 > > open rust_operators
00:09:39 verbose #19897 > > !\\((path_buf, s |> sm'.to_std_string),
00:09:39 verbose #19898 > > $'"$0.strip_prefix($1).unwrap().to_path_buf()"')
00:09:39 verbose #19899 > 00:09:38 debug #895 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/042e5c33b7e5e3d6733fa2188980be21e31d338c5c68f0a73bf4e2460b0cce79/main.spi
00:09:39 verbose #19900 > >
00:09:39 verbose #19901 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19902 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19903 > > │ ## path_display │
00:09:39 verbose #19904 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19905 > >
00:09:39 verbose #19906 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19907 > > inl path_display (path : rust.ref' path) : display =
00:09:39 verbose #19908 > > open rust_operators
00:09:39 verbose #19909 > > !\\(path, $'"$0.display()"')
00:09:39 verbose #19910 > 00:09:38 debug #896 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/31907b8b42e63c2da047249e7f0f1c4c6642d79322561cc1296fc24e5d87949a/main.spi
00:09:39 verbose #19911 > >
00:09:39 verbose #19912 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19913 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19914 > > │ ## path_buf_display │
00:09:39 verbose #19915 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19916 > >
00:09:39 verbose #19917 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19918 > > inl path_buf_display (path_buf : path_buf) : display =
00:09:39 verbose #19919 > > open rust_operators
00:09:39 verbose #19920 > > !\\(path_buf, $'"$0.display()"')
00:09:39 verbose #19921 > 00:09:38 debug #897 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/044e3a566a70f0aa51526f769ccb989700ea149d3315af7d7a4a4a5b21774609/main.spi
00:09:39 verbose #19922 > >
00:09:39 verbose #19923 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19924 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19925 > > │ ## path_buf_file_name │
00:09:39 verbose #19926 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19927 > >
00:09:39 verbose #19928 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19929 > > inl path_buf_file_name (path : path_buf) : optionm'.option' (rust.ref'
00:09:39 verbose #19930 > > sm'.os_str) =
00:09:39 verbose #19931 > > open rust_operators
00:09:39 verbose #19932 > > !\($'"!path.file_name()"')
00:09:39 verbose #19933 > 00:09:38 debug #898 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bb761a8e8d36d75d75b8a212fb1299fc4d50e7bba4138aa06bd639d27e2743ff/main.spi
00:09:39 verbose #19934 > >
00:09:39 verbose #19935 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19936 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19937 > > │ ## path_buf_exists │
00:09:39 verbose #19938 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19939 > >
00:09:39 verbose #19940 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19941 > > inl path_buf_exists (path_buf : path_buf) : bool =
00:09:39 verbose #19942 > > open rust_operators
00:09:39 verbose #19943 > > !\\(path_buf, $'"$0.exists()"')
00:09:39 verbose #19944 > 00:09:38 debug #899 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d5fd4288ca44873b336270d9299d25cb7acaebd429daa1e3159427554f5b5880/main.spi
00:09:39 verbose #19945 > >
00:09:39 verbose #19946 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19947 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19948 > > │ ## path_buf_is_dir │
00:09:39 verbose #19949 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19950 > >
00:09:39 verbose #19951 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19952 > > inl path_buf_is_dir (path_buf : path_buf) : bool =
00:09:39 verbose #19953 > > open rust_operators
00:09:39 verbose #19954 > > !\\(path_buf, $'"$0.is_dir()"')
00:09:39 verbose #19955 > 00:09:39 debug #900 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5d0401171a618414ce8a999c1df87392384e5047791a8eae600cf070d2206cc5/main.spi
00:09:39 verbose #19956 > >
00:09:39 verbose #19957 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19958 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19959 > > │ ## path_buf_is_file │
00:09:39 verbose #19960 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19961 > >
00:09:39 verbose #19962 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19963 > > inl path_buf_is_file (path_buf : path_buf) : bool =
00:09:39 verbose #19964 > > open rust_operators
00:09:39 verbose #19965 > > !\\(path_buf, $'"$0.is_file()"')
00:09:39 verbose #19966 > 00:09:39 debug #901 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4dbe0cda913c163dea9b559cfa5193fbc1f04ecf4dc3e724548fd4fed4d8de2e/main.spi
00:09:39 verbose #19967 > >
00:09:39 verbose #19968 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19969 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19970 > > │ ## path_buf_parent │
00:09:39 verbose #19971 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19972 > >
00:09:39 verbose #19973 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19974 > > inl path_buf_parent (path_buf : path_buf) : optionm'.option' path_buf =
00:09:39 verbose #19975 > > open rust_operators
00:09:39 verbose #19976 > > !\\(path_buf, $'"$0.parent().map(std::path::PathBuf::from)"')
00:09:39 verbose #19977 > 00:09:39 debug #902 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/99fba06429aecf960cf5ebbd76a8c2866490808d6a804449593134805ec1f981/main.spi
00:09:39 verbose #19978 > >
00:09:39 verbose #19979 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19980 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19981 > > │ ## ts_path_join │
00:09:39 verbose #19982 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #19983 > >
00:09:39 verbose #19984 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #19985 > > inl ts_path_join (b : string) (a : string) : string =
00:09:39 verbose #19986 > > open ts_operators
00:09:39 verbose #19987 > > global "type IPathJoin = abstract join: [[<System.ParamArray>]] paths:
00:09:39 verbose #19988 > > string[[]] -> string"
00:09:39 verbose #19989 > > inl path : $'IPathJoin' = ts.import_all "path"
00:09:39 verbose #19990 > >
00:09:39 verbose #19991 > > inl a = join a
00:09:39 verbose #19992 > > inl b = join b
00:09:39 verbose #19993 > > !\($'"!path.join(!a, !b)"')
00:09:39 verbose #19994 > 00:09:39 debug #903 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cb6bfaf0b43d679a16df002f1765e2dded01e9a667f86775a1393d75c9977de6/main.spi
00:09:39 verbose #19995 > >
00:09:39 verbose #19996 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #19997 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #19998 > > │ ## (< />) │
00:09:39 verbose #19999 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #20000 > >
00:09:39 verbose #20001 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #20002 > > let (</>) (a : string) (b : string) : string =
00:09:39 verbose #20003 > > run_target function
00:09:39 verbose #20004 > > | Fsharp (Native) => fun () =>
00:09:39 verbose #20005 > > $'System.IO.Path.Combine (!a, !b)'
00:09:39 verbose #20006 > > | Rust (Native) => fun () =>
00:09:39 verbose #20007 > > a
00:09:39 verbose #20008 > > |> sm'.to_std_string
00:09:39 verbose #20009 > > |> new_path_buf
00:09:39 verbose #20010 > > |> path_buf_join b
00:09:39 verbose #20011 > > |> path_buf_display
00:09:39 verbose #20012 > > |> sm'.format'
00:09:39 verbose #20013 > > |> sm'.from_std_string
00:09:39 verbose #20014 > > | TypeScript _ => fun () =>
00:09:39 verbose #20015 > > a |> ts_path_join b
00:09:39 verbose #20016 > > | _ => fun () => null ()
00:09:39 verbose #20017 > 00:09:39 debug #904 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/92faa46eb49b25992149a512f0647d858b40dff3af51feeb9a8de8daf54c3701/main.spi
00:09:39 verbose #20018 > >
00:09:39 verbose #20019 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #20020 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #20021 > > │ ## directory_info │
00:09:39 verbose #20022 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #20023 > >
00:09:39 verbose #20024 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #20025 > > nominal directory_info = $'System.IO.DirectoryInfo'
00:09:39 verbose #20026 > >
00:09:39 verbose #20027 > > inl directory_info (path : string) : directory_info =
00:09:39 verbose #20028 > > path |> $'`directory_info '
00:09:39 verbose #20029 > 00:09:39 debug #905 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b14137589d5cca6a784e2bb35032f5994ae5c95c1fdf5ac2d75712dc1d058109/main.spi
00:09:39 verbose #20030 > >
00:09:39 verbose #20031 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #20032 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #20033 > > │ ## directory_info_exists │
00:09:39 verbose #20034 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #20035 > >
00:09:39 verbose #20036 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #20037 > > inl directory_info_exists (info : directory_info) : bool =
00:09:39 verbose #20038 > > run_target function
00:09:39 verbose #20039 > > | Fsharp (Native) => fun () =>
00:09:39 verbose #20040 > > $'!info.Exists'
00:09:39 verbose #20041 > > | _ => fun () => null ()
00:09:39 verbose #20042 > 00:09:39 debug #906 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dfab7a718962671846a6c15b740f7ce12ad287daa8161f4e826a0cece9c52165/main.spi
00:09:39 verbose #20043 > >
00:09:39 verbose #20044 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:39 verbose #20045 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:39 verbose #20046 > > │ ## directory_info_creation_time │
00:09:39 verbose #20047 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:39 verbose #20048 > >
00:09:39 verbose #20049 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:39 verbose #20050 > > inl directory_info_creation_time (info : directory_info) : date_time.date_time =
00:09:39 verbose #20051 > > run_target function
00:09:39 verbose #20052 > > | Fsharp (Native) => fun () =>
00:09:39 verbose #20053 > > $'!info.CreationTime'
00:09:39 verbose #20054 > > | _ => fun () => null ()
00:09:39 verbose #20055 > 00:09:39 debug #907 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b16ccfa2becfc4d217284c0b46b9ba7887a7941d0c9e7a5a3feb38e8f1279f3f/main.spi
00:09:40 verbose #20056 > >
00:09:40 verbose #20057 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20058 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20059 > > │ ## directory_info_name │
00:09:40 verbose #20060 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20061 > >
00:09:40 verbose #20062 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20063 > > inl directory_info_name (info : directory_info) : string =
00:09:40 verbose #20064 > > run_target function
00:09:40 verbose #20065 > > | Fsharp (Native) => fun () =>
00:09:40 verbose #20066 > > $'!info.Name'
00:09:40 verbose #20067 > > | _ => fun () => null ()
00:09:40 verbose #20068 > 00:09:39 debug #908 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/95c5217b23dfd298d0310abb7da1e2eb7b677046a5784f6bee307414369da240/main.spi
00:09:40 verbose #20069 > >
00:09:40 verbose #20070 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20071 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20072 > > │ ## directory_info_full_name │
00:09:40 verbose #20073 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20074 > >
00:09:40 verbose #20075 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20076 > > inl directory_info_full_name (info : directory_info) : string =
00:09:40 verbose #20077 > > run_target function
00:09:40 verbose #20078 > > | Fsharp (Native) => fun () =>
00:09:40 verbose #20079 > > $'!info.FullName'
00:09:40 verbose #20080 > > | _ => fun () => null ()
00:09:40 verbose #20081 > 00:09:39 debug #909 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ddbdb4fb76a433495ddefc60420605e7af9399c7c55c082b1f6230d8cd5ac08b/main.spi
00:09:40 verbose #20082 > >
00:09:40 verbose #20083 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20084 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20085 > > │ ## dir_entry │
00:09:40 verbose #20086 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20087 > >
00:09:40 verbose #20088 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20089 > > nominal dir_entry = $'async_walkdir_DirEntry'
00:09:40 verbose #20090 > 00:09:39 debug #910 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/dbf21e4480dc8473b284cfcebdac4e370eeaecbf18c820882db3d5148a51a5db/main.spi
00:09:40 verbose #20091 > >
00:09:40 verbose #20092 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20093 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20094 > > │ ## walk_dir │
00:09:40 verbose #20095 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20096 > >
00:09:40 verbose #20097 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20098 > > nominal walk_dir = $'async_walkdir_WalkDir'
00:09:40 verbose #20099 > 00:09:39 debug #911 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d5b967d43764990357911eaffe8fe79970ca7f08b362181224239905251a880d/main.spi
00:09:40 verbose #20100 > >
00:09:40 verbose #20101 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20102 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20103 > > │ ## async_walkdir_filtering │
00:09:40 verbose #20104 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20105 > >
00:09:40 verbose #20106 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20107 > > nominal async_walkdir_filtering = $'async_walkdir_Filtering'
00:09:40 verbose #20108 > 00:09:40 debug #912 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f02d7bc1e75a259519db2f7e80572848e710f31cfb2f6323a7fec507596daf2/main.spi
00:09:40 verbose #20109 > >
00:09:40 verbose #20110 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20111 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20112 > > │ ## filtering │
00:09:40 verbose #20113 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20114 > >
00:09:40 verbose #20115 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20116 > > union filtering =
00:09:40 verbose #20117 > > | Ignore
00:09:40 verbose #20118 > > | IgnoreDir
00:09:40 verbose #20119 > > | Continue
00:09:40 verbose #20120 > 00:09:40 debug #913 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/72f3d97972da8a9c9436801e4aa67af8897f9f7180f99ae260825cdab6e7131d/main.spi
00:09:40 verbose #20121 > >
00:09:40 verbose #20122 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20123 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20124 > > │ ## stream_filter_map │
00:09:40 verbose #20125 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20126 > >
00:09:40 verbose #20127 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20128 > > inl stream_filter_map forall t.
00:09:40 verbose #20129 > > (fn : resultm.result' dir_entry stream.io_error -> optionm'.option' t)
00:09:40 verbose #20130 > > (stream : walk_dir)
00:09:40 verbose #20131 > > : am'.vec t =
00:09:40 verbose #20132 > >
00:09:40 verbose #20133 > > inl fn = join fn
00:09:40 verbose #20134 > > inl result : am'.vec t =
00:09:40 verbose #20135 > >
00:09:40 verbose #20136 > > !\($'"futures_lite::stream::StreamExt::collect(futures_lite::stream::StreamExt::
00:09:40 verbose #20137 > > filter_map(!stream, |x| !fn(x))).await"')
00:09:40 verbose #20138 > > result
00:09:40 verbose #20139 > 00:09:40 debug #914 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2bacbf9acf2e14ba738e6844a7989a0d919db7c78eb3c574009facb79debfe4d/main.spi
00:09:40 verbose #20140 > >
00:09:40 verbose #20141 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20142 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20143 > > │ ## new_walk_dir │
00:09:40 verbose #20144 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20145 > >
00:09:40 verbose #20146 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20147 > > inl new_walk_dir (dir : string) : walk_dir =
00:09:40 verbose #20148 > > !\\(dir, $'"async_walkdir::WalkDir::new(&*$0)"')
00:09:40 verbose #20149 > > // inl walk_dir : walk_dir = walk_dir |> rust.to_mut
00:09:40 verbose #20150 > > // (!\($'"true; let mut !walk_dir = !walk_dir"') : bool) |> ignore
00:09:40 verbose #20151 > 00:09:40 debug #915 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/bd41cbd522989c207aaf8e0b64af660cba695f547a106a376b1b8ab27a0028e0/main.spi
00:09:40 verbose #20152 > >
00:09:40 verbose #20153 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20154 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20155 > > │ ## walk_dir_filter │
00:09:40 verbose #20156 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20157 > >
00:09:40 verbose #20158 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20159 > > inl walk_dir_filter (fn : dir_entry -> async.future_pin_send filtering)
00:09:40 verbose #20160 > > (walk_dir : walk_dir) : walk_dir =
00:09:40 verbose #20161 > > inl fn entry = async.future_init_send (2, 1) 0 fun () =>
00:09:40 verbose #20162 > > inl result = fn entry |> async.await_send
00:09:40 verbose #20163 > > inl filtering : async_walkdir_filtering =
00:09:40 verbose #20164 > > match result with
00:09:40 verbose #20165 > > | Ignore => !\($'"async_walkdir::Filtering::Ignore"')
00:09:40 verbose #20166 > > | IgnoreDir => !\($'"async_walkdir::Filtering::IgnoreDir"')
00:09:40 verbose #20167 > > | Continue => !\($'"async_walkdir::Filtering::Continue"')
00:09:40 verbose #20168 > > filtering
00:09:40 verbose #20169 > > !\\((walk_dir, fn), $'"async_walkdir::WalkDir::filter($0, |x| $1(x))"')
00:09:40 verbose #20170 > 00:09:40 debug #916 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7a83b459d1fd5f01ffd35d49533ce293eef9ee925a23749a2b3b6b0adc33dae7/main.spi
00:09:40 verbose #20171 > >
00:09:40 verbose #20172 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20173 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20174 > > │ ## file_type │
00:09:40 verbose #20175 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20176 > >
00:09:40 verbose #20177 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20178 > > nominal file_type = $'std_fs_FileType'
00:09:40 verbose #20179 > 00:09:40 debug #917 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d20f00bc788f44ed458461f2ed7ca37c20823b6173b3e94c9936bd58f6b70be7/main.spi
00:09:40 verbose #20180 > >
00:09:40 verbose #20181 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20182 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20183 > > │ ## dir_entry_file_type │
00:09:40 verbose #20184 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20185 > >
00:09:40 verbose #20186 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20187 > > inl dir_entry_file_type (dir_entry : dir_entry) : async.future_pin_send
00:09:40 verbose #20188 > > (resultm.result' file_type stream.io_error) =
00:09:40 verbose #20189 > > inl dir_entry = join dir_entry
00:09:40 verbose #20190 > > !\($'"Box::pin(async_walkdir::DirEntry::file_type(&!dir_entry))"')
00:09:40 verbose #20191 > 00:09:40 debug #918 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/150063a9a87f540cb0b18dcd016837af1bad61be7a4a3bfcdfdec4dfe4317904/main.spi
00:09:40 verbose #20192 > >
00:09:40 verbose #20193 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:40 verbose #20194 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:40 verbose #20195 > > │ ## file_type_is_dir │
00:09:40 verbose #20196 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:40 verbose #20197 > >
00:09:40 verbose #20198 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:40 verbose #20199 > > inl file_type_is_dir (file_type : file_type) : bool =
00:09:40 verbose #20200 > > inl file_type = join file_type
00:09:40 verbose #20201 > > !\($'"std::fs::FileType::is_dir(&!file_type)"')
00:09:41 verbose #20202 > 00:09:40 debug #919 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1cf6d9d2d292461d49a5f9fd205dcdb9a0c984c37de650d250ecd2cc9396580b/main.spi
00:09:41 verbose #20203 > >
00:09:41 verbose #20204 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:41 verbose #20205 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:41 verbose #20206 > > │ ## file │
00:09:41 verbose #20207 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:41 verbose #20208 > >
00:09:41 verbose #20209 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:41 verbose #20210 > > nominal file = $'std_fs_File'
00:09:41 verbose #20211 > 00:09:40 debug #920 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c3f94d25193be89c5b91daeb1f1f86ac6f528f481fda546f7b4ff4f818e49acd/main.spi
00:09:41 verbose #20212 > >
00:09:41 verbose #20213 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:41 verbose #20214 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:41 verbose #20215 > > │ ## file_open │
00:09:41 verbose #20216 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:41 verbose #20217 > >
00:09:41 verbose #20218 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:41 verbose #20219 > > inl file_open (path : string) : resultm.result' file stream.io_error =
00:09:41 verbose #20220 > > !\($'"std::fs::File::open(&*!path)"')
00:09:41 verbose #20221 > 00:09:40 debug #921 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8c9390a852b9fe64cbfb33af1857a635beca5cfd62f329679019bfbd9a61793a/main.spi
00:09:41 verbose #20222 > >
00:09:41 verbose #20223 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:41 verbose #20224 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:41 verbose #20225 > > │ ## dir_entry_path │
00:09:41 verbose #20226 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:41 verbose #20227 > >
00:09:41 verbose #20228 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:41 verbose #20229 > > inl dir_entry_path (dir_entry : dir_entry) : path_buf =
00:09:41 verbose #20230 > > !\\(dir_entry, $'"async_walkdir::DirEntry::path(&$0)"')
00:09:41 verbose #20231 > 00:09:40 debug #922 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5c59c4e7b835b08f7aa3c86eb1278970857619f989d693460a21accebc54ee5e/main.spi
00:09:41 verbose #20232 > >
00:09:41 verbose #20233 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:41 verbose #20234 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:41 verbose #20235 > > │ ## get_temp_path │
00:09:41 verbose #20236 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:41 verbose #20237 > >
00:09:41 verbose #20238 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:41 verbose #20239 > > inl get_temp_path () : string =
00:09:41 verbose #20240 > > run_target function
00:09:41 verbose #20241 > > | Fsharp (Native) => fun () =>
00:09:41 verbose #20242 > > $'System.IO.Path.GetTempPath' ()
00:09:41 verbose #20243 > > | Rust (Native) => fun () =>
00:09:41 verbose #20244 > > open rust_operators
00:09:41 verbose #20245 > > !\($'"std::env::temp_dir()"')
00:09:41 verbose #20246 > > |> path_buf_display
00:09:41 verbose #20247 > > |> sm'.format'
00:09:41 verbose #20248 > > |> sm'.from_std_string
00:09:41 verbose #20249 > > | _ => fun () => null ()
00:09:41 verbose #20250 > 00:09:40 debug #923 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/91af21b2bead613607ad827e3e514b07070a858b0e29a65c8e04f24d1e2314bd/main.spi
00:09:41 verbose #20251 > >
00:09:41 verbose #20252 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:41 verbose #20253 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:41 verbose #20254 > > │ ## get_file_name │
00:09:41 verbose #20255 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:41 verbose #20256 > >
00:09:41 verbose #20257 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:41 verbose #20258 > > inl get_file_name (path : string) : string =
00:09:41 verbose #20259 > > run_target function
00:09:41 verbose #20260 > > | Fsharp (Native) => fun () =>
00:09:41 verbose #20261 > > path |> $'System.IO.Path.GetFileName'
00:09:41 verbose #20262 > > | Rust (Native) => fun () =>
00:09:41 verbose #20263 > > open rust_operators
00:09:41 verbose #20264 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf
00:09:41 verbose #20265 > > !\\(path_buf, $'"$0.file_name()"')
00:09:41 verbose #20266 > > |> optionm'.unwrap
00:09:41 verbose #20267 > > |> sm'.from_os_str_ref
00:09:41 verbose #20268 > > | _ => fun () => null ()
00:09:41 verbose #20269 > 00:09:40 debug #924 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6eb919261e101e8fdba744cba5d8cdcdd11c00fe9183ab0818d333c8fa6045d1/main.spi
00:09:41 verbose #20270 > >
00:09:41 verbose #20271 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:41 verbose #20272 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:41 verbose #20273 > > │ ## get_current_directory │
00:09:41 verbose #20274 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:41 verbose #20275 > >
00:09:41 verbose #20276 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:41 verbose #20277 > > inl get_current_directory () : string =
00:09:41 verbose #20278 > > run_target function
00:09:41 verbose #20279 > > | Fsharp (Native) => fun () =>
00:09:41 verbose #20280 > > $'System.IO.Directory.GetCurrentDirectory' ()
00:09:41 verbose #20281 > > | Rust (Native) => fun () =>
00:09:41 verbose #20282 > > open rust_operators
00:09:41 verbose #20283 > > inl current_dir = !\($'"std::env::current_dir()"') : resultm.result'
00:09:41 verbose #20284 > > path_buf stream.io_error
00:09:41 verbose #20285 > > current_dir
00:09:41 verbose #20286 > > |> resultm.unwrap'
00:09:41 verbose #20287 > > |> path_buf_display
00:09:41 verbose #20288 > > |> sm'.format'
00:09:41 verbose #20289 > > |> sm'.from_std_string
00:09:41 verbose #20290 > > | _ => fun () => null ()
00:09:41 verbose #20291 > 00:09:41 debug #925 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a2ef0e32884de318c7c940dde4785f41ede54e158c6a5e6f08412e17d5d3152c/main.spi
00:09:41 verbose #20292 > >
00:09:41 verbose #20293 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:41 verbose #20294 > > //// test
00:09:41 verbose #20295 > >
00:09:41 verbose #20296 > > get_current_directory ()
00:09:41 verbose #20297 > 00:09:41 debug #926 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/57e4e4f4620369e7f4c5730ab3de27db669dc22cba327ea6fec4804c821944ee/main.spi
00:09:42 verbose #20298 > >
00:09:42 verbose #20299 > > ╭─[ 493.56ms - return value ]──────────────────────────────────────────────────╮
00:09:42 verbose #20300 > > │ /home/runner/work/polyglot/polyglot/lib/spiral │
00:09:42 verbose #20301 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:42 verbose #20302 > >
00:09:42 verbose #20303 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:42 verbose #20304 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:42 verbose #20305 > > │ ## directory_separator_char │
00:09:42 verbose #20306 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:42 verbose #20307 > >
00:09:42 verbose #20308 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:42 verbose #20309 > > inl directory_separator_char () : char =
00:09:42 verbose #20310 > > run_target function
00:09:42 verbose #20311 > > | Fsharp (Native) => fun () =>
00:09:42 verbose #20312 > > $'System.IO.Path.DirectorySeparatorChar'
00:09:42 verbose #20313 > > | Rust (Native) => fun () =>
00:09:42 verbose #20314 > > open rust_operators
00:09:42 verbose #20315 > > !\($'"std::path::MAIN_SEPARATOR"')
00:09:42 verbose #20316 > > | _ => fun () => null ()
00:09:42 verbose #20317 > 00:09:41 debug #927 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/64c660a64e7c5e078c1dff55a96216f42791bdea23a14dca16c2ab2e19c24c5c/main.spi
00:09:42 verbose #20318 > >
00:09:42 verbose #20319 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:42 verbose #20320 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:42 verbose #20321 > > │ ## normalize_path │
00:09:42 verbose #20322 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:42 verbose #20323 > >
00:09:42 verbose #20324 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:42 verbose #20325 > > inl normalize_path (path : string) : string =
00:09:42 verbose #20326 > > inl path = path |> sm'.replace_regex @"^\\\\\?\\" ""
00:09:42 verbose #20327 > > $'$"{!path.[[0]] |> string |> _.ToLower()}{!path.[[1..]]}"' |> sm'.replace
00:09:42 verbose #20328 > > "\\" "/"
00:09:42 verbose #20329 > 00:09:41 debug #928 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c8b26615827b11be5ed0c2e63434c7b957490867672b7d138f5763072f03ae7f/main.spi
00:09:42 verbose #20330 > >
00:09:42 verbose #20331 > > ── markdown ────────────────────────────────────────────────────────────────────
00:09:42 verbose #20332 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:09:42 verbose #20333 > > │ ## get_full_path │
00:09:42 verbose #20334 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:42 verbose #20335 > >
00:09:42 verbose #20336 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:42 verbose #20337 > > inl get_full_path (path : string) : string =
00:09:42 verbose #20338 > > run_target function
00:09:42 verbose #20339 > > | Fsharp (Native) => fun () =>
00:09:42 verbose #20340 > > inl path = join path
00:09:42 verbose #20341 > > path |> $'System.IO.Path.GetFullPath'
00:09:42 verbose #20342 > > | Rust (Native) => fun () =>
00:09:42 verbose #20343 > > inl path = join path
00:09:42 verbose #20344 > > open rust_operators
00:09:42 verbose #20345 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf
00:09:42 verbose #20346 > > if path_buf |> path_buf_exists |> not then
00:09:42 verbose #20347 > > inl current_dir = get_current_directory ()
00:09:42 verbose #20348 > > current_dir </> path
00:09:42 verbose #20349 > > |> normalize_path
00:09:42 verbose #20350 > > |> sm'.split "/"
00:09:42 verbose #20351 > > |> fun x =>
00:09:42 verbose #20352 > > ((a x : _ i32 _), (0i32, (a ;[[]] : _ i32 _)))
00:09:42 verbose #20353 > > ||> am.foldBack fun x level, acc =>
00:09:42 verbose #20354 > > match x, level with
00:09:42 verbose #20355 > > | "..", _ => level + 1, acc
00:09:42 verbose #20356 > > | ".", _ => level, acc
00:09:42 verbose #20357 > > | _, 0 when x |> sm'.ends_with ":" => 0, a ;[[
00:09:42 verbose #20358 > > $'$"{!current_dir.[[0]]}:"' ]] ++ acc
00:09:42 verbose #20359 > > | _, 0 => 0, a ;[[ x ]] ++ acc
00:09:42 verbose #20360 > > | _ => level - 1, acc
00:09:42 verbose #20361 > > |> snd
00:09:42 verbose #20362 > > |> seq.of_array'
00:09:42 verbose #20363 > > |> sm'.concat (directory_separator_char () |> sm'.obj_to_string)
00:09:42 verbose #20364 > > else
00:09:42 verbose #20365 > > inl path = !\\(path, $'"std::fs::canonicalize(&*$0)"') :
00:09:42 verbose #20366 > > resultm.result' path_buf stream.io_error
00:09:42 verbose #20367 > > path
00:09:42 verbose #20368 > > |> resultm.unwrap'
00:09:42 verbose #20369 > > |> path_buf_display
00:09:42 verbose #20370 > > |> sm'.format'
00:09:42 verbose #20371 > > |> sm'.from_std_string
00:09:42 verbose #20372 > > | _ => fun () => null ()
00:09:42 verbose #20373 > 00:09:41 debug #929 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/76feec899e86414b6c71cda32bb125c7cc85075f9094d4f37e89d2bf442148c4/main.spi
00:09:42 verbose #20374 > >
00:09:42 verbose #20375 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:42 verbose #20376 > > //// test
00:09:42 verbose #20377 > >
00:09:42 verbose #20378 > > "."
00:09:42 verbose #20379 > > |> get_full_path
00:09:42 verbose #20380 > > |> directory_info
00:09:42 verbose #20381 > > |> directory_info_name
00:09:42 verbose #20382 > > |> _assert_eq "spiral"
00:09:42 verbose #20383 > 00:09:41 debug #930 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/38b7b3eddf9d21581f16acbcda4bf3d8f11a838ca0aae88f363221473730af98/main.spi
00:09:42 verbose #20384 > >
00:09:42 verbose #20385 > > ╭─[ 542.35ms - stdout ]────────────────────────────────────────────────────────╮
00:09:42 verbose #20386 > > │ assert_eq / actual: "spiral" / expected: "spiral" │
00:09:42 verbose #20387 > > │ │
00:09:42 verbose #20388 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:42 verbose #20389 > >
00:09:42 verbose #20390 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:42 verbose #20391 > > //// test
00:09:42 verbose #20392 > >
00:09:42 verbose #20393 > > "dir/.././._file"
00:09:42 verbose #20394 > > |> get_full_path
00:09:42 verbose #20395 > > |> _assert_eq (get_current_directory () </> "._file")
00:09:42 verbose #20396 > 00:09:42 debug #931 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8e1c9fc6a09b39f7b3f7c7f837e081213a944856acab62f6a922282272c25548/main.spi
00:09:43 verbose #20397 > >
00:09:43 verbose #20398 > > ╭─[ 246.48ms - stdout ]────────────────────────────────────────────────────────╮
00:09:43 verbose #20399 > > │ assert_eq / actual: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │
00:09:43 verbose #20400 > > │ / expected: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │
00:09:43 verbose #20401 > > │ │
00:09:43 verbose #20402 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:43 verbose #20403 > >
00:09:43 verbose #20404 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:43 verbose #20405 > > //// test
00:09:43 verbose #20406 > > ///! rust -d regex
00:09:43 verbose #20407 > >
00:09:43 verbose #20408 > > types ()
00:09:43 verbose #20409 > > "."
00:09:43 verbose #20410 > > |> get_full_path
00:09:43 verbose #20411 > > |> sm'.to_std_string
00:09:43 verbose #20412 > > |> new_path_buf
00:09:43 verbose #20413 > > |> path_buf_file_name
00:09:43 verbose #20414 > > |> optionm'.unwrap
00:09:43 verbose #20415 > > |> sm'.from_os_str_ref
00:09:43 verbose #20416 > > |> _assert_eq "spiral"
00:09:43 verbose #20417 > 00:09:42 debug #932 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f08d899896f01a690a38308231c610dff05e847edb49b63dd2ee830b6c93fa35/main.spi
00:09:54 verbose #20418 > >
00:09:54 verbose #20419 > > ╭─[ 11.44s - return value ]────────────────────────────────────────────────────╮
00:09:54 verbose #20420 > > │ assert_eq / actual: "spiral" / expected: "spiral" │
00:09:54 verbose #20421 > > │ │
00:09:54 verbose #20422 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:09:54 verbose #20423 > >
00:09:54 verbose #20424 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:09:54 verbose #20425 > > //// test
00:09:54 verbose #20426 > > ///! rust -d regex
00:09:54 verbose #20427 > >
00:09:54 verbose #20428 > > types ()
00:09:54 verbose #20429 > > "dir/.././._file"
00:09:54 verbose #20430 > > |> get_full_path
00:09:54 verbose #20431 > > |> _assert_eq (get_current_directory () </> "._file")
00:09:54 verbose #20432 > 00:09:54 debug #933 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fdea2ab6b0d09930f72a85fa7f43a066a628b30c557119ed7f899639f293a6cd/main.spi
00:10:05 verbose #20433 > >
00:10:05 verbose #20434 > > ╭─[ 11.13s - return value ]────────────────────────────────────────────────────╮
00:10:05 verbose #20435 > > │ assert_eq / actual: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │
00:10:05 verbose #20436 > > │ / expected: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │
00:10:05 verbose #20437 > > │ │
00:10:05 verbose #20438 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:05 verbose #20439 > >
00:10:05 verbose #20440 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:05 verbose #20441 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:05 verbose #20442 > > │ ## create_temp_directory_name │
00:10:05 verbose #20443 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:05 verbose #20444 > >
00:10:05 verbose #20445 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:05 verbose #20446 > > inl create_temp_directory_name () =
00:10:05 verbose #20447 > > run_target function
00:10:05 verbose #20448 > > | Fsharp (Native)
00:10:05 verbose #20449 > > | Rust (Native) => fun () =>
00:10:05 verbose #20450 > > inl assembly_name = env.get_entry_assembly_name ()
00:10:05 verbose #20451 > > get_temp_path ()
00:10:05 verbose #20452 > > </> ($'$"\!{!assembly_name}"' : string)
00:10:05 verbose #20453 > > </> (date_time.now () |> date_time.new_guid_from_date_time |>
00:10:05 verbose #20454 > > sm'.obj_to_string)
00:10:05 verbose #20455 > > | _ => fun () => null ()
00:10:05 verbose #20456 > 00:10:05 debug #934 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b60f48d0fb15546bef141ca42e3a98219dcb7b85fa380b9e246191bdb7797135/main.spi
00:10:05 verbose #20457 > >
00:10:05 verbose #20458 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:05 verbose #20459 > > //// test
00:10:05 verbose #20460 > >
00:10:05 verbose #20461 > > types ()
00:10:05 verbose #20462 > > create_temp_directory_name ()
00:10:05 verbose #20463 > > |> _assert_contains (directory_separator_char ())
00:10:05 verbose #20464 > 00:10:05 debug #935 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a50e52cfab48703c3783c2d6e504ae089c687418b0ef88102104214a20c3e642/main.spi
00:10:06 verbose #20465 > >
00:10:06 verbose #20466 > > ╭─[ 494.76ms - stdout ]────────────────────────────────────────────────────────╮
00:10:06 verbose #20467 > > │ assert_contains / actual: │
00:10:06 verbose #20468 > > │ "/tmp/!dotnet-repl/20240520-1350-3047-4755-400000ba6eb0" / expected: '/' │
00:10:06 verbose #20469 > > │ │
00:10:06 verbose #20470 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:06 verbose #20471 > >
00:10:06 verbose #20472 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:06 verbose #20473 > > //// test
00:10:06 verbose #20474 > > ///! rust -d chrono
00:10:06 verbose #20475 > >
00:10:06 verbose #20476 > > types ()
00:10:06 verbose #20477 > > create_temp_directory_name ()
00:10:06 verbose #20478 > > |> _assert_contains (directory_separator_char ())
00:10:06 verbose #20479 > 00:10:05 debug #936 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/099061586fc10229e53c133096afea922861f341f8da668db476332c9589d2b4/main.spi
00:10:17 verbose #20480 > >
00:10:17 verbose #20481 > > ╭─[ 11.33s - return value ]────────────────────────────────────────────────────╮
00:10:17 verbose #20482 > > │ assert_contains / actual: │
00:10:17 verbose #20483 > > │ "/tmp/!spiral_builder_64c19b42845861122e746644506060b5ec1b9af0c6e4b948834057 │
00:10:17 verbose #20484 > > │ 235c1a2dca/20240520-1350-4176-7877-000000a10223" / expected: '/' │
00:10:17 verbose #20485 > > │ │
00:10:17 verbose #20486 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:17 verbose #20487 > >
00:10:17 verbose #20488 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:17 verbose #20489 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:17 verbose #20490 > > │ ## get_source_directory │
00:10:17 verbose #20491 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:17 verbose #20492 > >
00:10:17 verbose #20493 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:17 verbose #20494 > > inl get_source_directory () =
00:10:17 verbose #20495 > > $'__SOURCE_DIRECTORY__' : string
00:10:17 verbose #20496 > 00:10:17 debug #937 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fd25e58cdd185cde59dd70d81cac8d6d2560e927f33bbfbb6194574b0aea75fe/main.spi
00:10:17 verbose #20497 > >
00:10:17 verbose #20498 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:17 verbose #20499 > > //// test
00:10:17 verbose #20500 > >
00:10:17 verbose #20501 > > get_source_directory ()
00:10:17 verbose #20502 > > |> directory_info
00:10:17 verbose #20503 > > |> directory_info_name
00:10:17 verbose #20504 > > |> _assert_eq "spiral"
00:10:17 verbose #20505 > 00:10:17 debug #938 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4c0c8c1726fda4d01749766700246d8aebd721881f72efb8510f65e0a9f0e50a/main.spi
00:10:17 verbose #20506 > >
00:10:17 verbose #20507 > > ╭─[ 84.37ms - stdout ]─────────────────────────────────────────────────────────╮
00:10:17 verbose #20508 > > │ assert_eq / actual: "spiral" / expected: "spiral" │
00:10:17 verbose #20509 > > │ │
00:10:17 verbose #20510 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:17 verbose #20511 > >
00:10:17 verbose #20512 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:17 verbose #20513 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:17 verbose #20514 > > │ ## create_dir_all │
00:10:17 verbose #20515 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:17 verbose #20516 > >
00:10:17 verbose #20517 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:17 verbose #20518 > > inl create_dir_all (path : string) : resultm.result' () stream.io_error =
00:10:17 verbose #20519 > > !\\(path, $'"std::fs::create_dir_all(&*$0)"')
00:10:17 verbose #20520 > 00:10:17 debug #939 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b58c746b51f80ea8454b87ac57bf9e049921f3e207e3d46d0fa55b1954fecb91/main.spi
00:10:17 verbose #20521 > >
00:10:17 verbose #20522 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:17 verbose #20523 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:17 verbose #20524 > > │ ## create_directory │
00:10:17 verbose #20525 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:17 verbose #20526 > >
00:10:17 verbose #20527 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:17 verbose #20528 > > inl create_directory (path : string) : directory_info =
00:10:17 verbose #20529 > > run_target function
00:10:17 verbose #20530 > > | Fsharp (Native) => fun () =>
00:10:17 verbose #20531 > > path |> $'System.IO.Directory.CreateDirectory'
00:10:17 verbose #20532 > > | _ => fun () => null ()
00:10:17 verbose #20533 > 00:10:17 debug #940 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/fa05ac407228e2c921aeea51ca7276ff6d57d1a32914efc6ba5dacfb4d7db80b/main.spi
00:10:17 verbose #20534 > >
00:10:17 verbose #20535 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:17 verbose #20536 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:17 verbose #20537 > > │ ## directory_get_files │
00:10:17 verbose #20538 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:17 verbose #20539 > >
00:10:17 verbose #20540 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:17 verbose #20541 > > inl directory_get_files (path : string) : array_base string =
00:10:17 verbose #20542 > > run_target function
00:10:17 verbose #20543 > > | Fsharp (Native) => fun () =>
00:10:17 verbose #20544 > > path |> $'System.IO.Directory.GetFiles'
00:10:17 verbose #20545 > > | _ => fun () => null ()
00:10:17 verbose #20546 > 00:10:17 debug #941 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2a0301fe0fab2b39f16ba8962837e0f1ff5751c6dcf7d05cbc6682e07f11b7f3/main.spi
00:10:17 verbose #20547 > >
00:10:17 verbose #20548 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:17 verbose #20549 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:17 verbose #20550 > > │ ## directory_exists │
00:10:17 verbose #20551 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:17 verbose #20552 > >
00:10:17 verbose #20553 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:17 verbose #20554 > > inl directory_exists (path : string) : bool =
00:10:17 verbose #20555 > > run_target function
00:10:17 verbose #20556 > > | Fsharp (Native) => fun () =>
00:10:17 verbose #20557 > > path |> $'System.IO.Directory.Exists'
00:10:17 verbose #20558 > > | Rust (Native) => fun () =>
00:10:17 verbose #20559 > > inl path = path |> sm'.to_std_string |> new_path_buf
00:10:17 verbose #20560 > > path_buf_exists path && path_buf_is_dir path
00:10:17 verbose #20561 > > | TypeScript (Native) => fun () =>
00:10:17 verbose #20562 > > global "type IFsExistsSync = abstract existsSync: path: string ->
00:10:17 verbose #20563 > > bool"
00:10:17 verbose #20564 > > open ts_operators
00:10:17 verbose #20565 > > inl fs : $'IFsExistsSync' = ts.import_all "fs"
00:10:17 verbose #20566 > > !\\((fs, path), $'"$0.existsSync($1)"')
00:10:17 verbose #20567 > > | _ => fun () => null ()
00:10:17 verbose #20568 > 00:10:17 debug #942 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cb8a2a5a82be92972b540ef59a7677d42641acfd91a1e2c481045265c221243a/main.spi
00:10:18 verbose #20569 > >
00:10:18 verbose #20570 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:18 verbose #20571 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:18 verbose #20572 > > │ ## directory_get_parent │
00:10:18 verbose #20573 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:18 verbose #20574 > >
00:10:18 verbose #20575 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:18 verbose #20576 > > inl directory_get_parent (path : string) : optionm'.option' string =
00:10:18 verbose #20577 > > run_target function
00:10:18 verbose #20578 > > | Fsharp (Native) => fun () =>
00:10:18 verbose #20579 > > inl parent : directory_info = path |>
00:10:18 verbose #20580 > > $'System.IO.Directory.GetParent'
00:10:18 verbose #20581 > > if parent =. null ()
00:10:18 verbose #20582 > > then None
00:10:18 verbose #20583 > > else parent |> directory_info_full_name |> Some
00:10:18 verbose #20584 > > | Rust (Native) => fun () =>
00:10:18 verbose #20585 > > path
00:10:18 verbose #20586 > > |> sm'.to_std_string
00:10:18 verbose #20587 > > |> new_path_buf
00:10:18 verbose #20588 > > |> path_buf_parent
00:10:18 verbose #20589 > > |> optionm'.try'
00:10:18 verbose #20590 > > |> path_buf_display
00:10:18 verbose #20591 > > |> sm'.format'
00:10:18 verbose #20592 > > |> sm'.from_std_string
00:10:18 verbose #20593 > > |> Some
00:10:18 verbose #20594 > > | TypeScript _ => fun () =>
00:10:18 verbose #20595 > > global "type IPathDirname = abstract dirname: path: string ->
00:10:18 verbose #20596 > > string"
00:10:18 verbose #20597 > > inl fs : $'IPathDirname' = ts.import_all "path"
00:10:18 verbose #20598 > > ts.emit_expr path $'"!fs.dirname($0)"' |> Some
00:10:18 verbose #20599 > > | _ => fun () => null ()
00:10:18 verbose #20600 > > |> optionm'.box
00:10:18 verbose #20601 > 00:10:17 debug #943 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2bf922a805c37b00a53ce1408f34223769064fcd5d1015163796c22aa3915108/main.spi
00:10:18 verbose #20602 > >
00:10:18 verbose #20603 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:18 verbose #20604 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:18 verbose #20605 > > │ ## file_delete │
00:10:18 verbose #20606 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:18 verbose #20607 > >
00:10:18 verbose #20608 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:18 verbose #20609 > > inl file_delete (path : string) : () =
00:10:18 verbose #20610 > > run_target function
00:10:18 verbose #20611 > > | Fsharp (Native) => fun () =>
00:10:18 verbose #20612 > > path |> $'System.IO.File.Delete'
00:10:18 verbose #20613 > > | _ => fun () => null ()
00:10:18 verbose #20614 > 00:10:17 debug #944 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/068de12563fcc6adfa28a394e11ea2b5a2fd631f1c18d87264de046381a618d1/main.spi
00:10:18 verbose #20615 > >
00:10:18 verbose #20616 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:18 verbose #20617 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:18 verbose #20618 > > │ ## file_move │
00:10:18 verbose #20619 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:18 verbose #20620 > >
00:10:18 verbose #20621 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:18 verbose #20622 > > inl file_move (new_path : string) (old_path : string) : () =
00:10:18 verbose #20623 > > run_target function
00:10:18 verbose #20624 > > | Fsharp (Native) => fun () =>
00:10:18 verbose #20625 > > $'System.IO.File.Move (!old_path, !new_path)'
00:10:18 verbose #20626 > > | _ => fun () => null ()
00:10:18 verbose #20627 > 00:10:17 debug #945 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cef5d93922894e1cb065ee1cb98a13a7a1d0b2746e4053300195f2e5533ee670/main.spi
00:10:18 verbose #20628 > >
00:10:18 verbose #20629 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:18 verbose #20630 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:18 verbose #20631 > > │ ## file_copy │
00:10:18 verbose #20632 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:18 verbose #20633 > >
00:10:18 verbose #20634 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:18 verbose #20635 > > inl file_copy (new_path : string) (old_path : string) : () =
00:10:18 verbose #20636 > > run_target function
00:10:18 verbose #20637 > > | Fsharp (Native) => fun () =>
00:10:18 verbose #20638 > > $'System.IO.File.Copy (!old_path, !new_path, true)'
00:10:18 verbose #20639 > > | Rust (Native) => fun () =>
00:10:18 verbose #20640 > > open rust_operators
00:10:18 verbose #20641 > > inl new_path = join new_path
00:10:18 verbose #20642 > > !\\(old_path, $'"std::fs::copy(&*$0, &*!new_path)"')
00:10:18 verbose #20643 > > |> fun x => x : _ u64 stream.io_error
00:10:18 verbose #20644 > > |> resultm.unwrap'
00:10:18 verbose #20645 > > |> ignore
00:10:18 verbose #20646 > > | _ => fun () => null ()
00:10:18 verbose #20647 > 00:10:17 debug #946 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c73aa4fb53d745038df48921e7b86a54f59e4a56e3fb24a9d53a0a7775c6a08f/main.spi
00:10:18 verbose #20648 > >
00:10:18 verbose #20649 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:18 verbose #20650 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:18 verbose #20651 > > │ ## file_exists │
00:10:18 verbose #20652 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:18 verbose #20653 > >
00:10:18 verbose #20654 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:18 verbose #20655 > > inl file_exists (path : string) : bool =
00:10:18 verbose #20656 > > run_target function
00:10:18 verbose #20657 > > | Fsharp (Native) => fun () =>
00:10:18 verbose #20658 > > path |> $'System.IO.File.Exists'
00:10:18 verbose #20659 > > | Rust (Native) => fun () =>
00:10:18 verbose #20660 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf
00:10:18 verbose #20661 > > path_buf_exists path_buf && path_buf_is_file path_buf
00:10:18 verbose #20662 > > | TypeScript (Native) => fun () =>
00:10:18 verbose #20663 > > open ts_operators
00:10:18 verbose #20664 > > global "type IFsExistsSync = abstract existsSync: path: string ->
00:10:18 verbose #20665 > > bool"
00:10:18 verbose #20666 > > inl fs : $'IFsExistsSync' = ts.import_all "fs"
00:10:18 verbose #20667 > > !\\((fs, path), $'"$0.existsSync($1)"')
00:10:18 verbose #20668 > > | _ => fun () => null ()
00:10:18 verbose #20669 > 00:10:17 debug #947 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7562aba60e7baac55e79e7fd89cb527f3b48efb2da5ce990656c63432b677998/main.spi
00:10:18 verbose #20670 > >
00:10:18 verbose #20671 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:18 verbose #20672 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:18 verbose #20673 > > │ ## directory_delete │
00:10:18 verbose #20674 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:18 verbose #20675 > >
00:10:18 verbose #20676 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:18 verbose #20677 > > inl directory_delete recursive (path : string) : () =
00:10:18 verbose #20678 > > run_target function
00:10:18 verbose #20679 > > | Fsharp (Native) => fun () =>
00:10:18 verbose #20680 > > $'System.IO.Directory.Delete (!path, !recursive)'
00:10:18 verbose #20681 > > | Rust (Native) => fun () =>
00:10:18 verbose #20682 > > inl path = join path
00:10:18 verbose #20683 > > if path |> directory_exists then
00:10:18 verbose #20684 > > open rust_operators
00:10:18 verbose #20685 > > if recursive
00:10:18 verbose #20686 > > then !\\(path, $'"std::fs::remove_dir_all(&*$0).unwrap()"')
00:10:18 verbose #20687 > > else !\\(path, $'"std::fs::remove_dir(&*$0).unwrap()"')
00:10:18 verbose #20688 > > | _ => fun () => null ()
00:10:18 verbose #20689 > 00:10:18 debug #948 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c8edb2671add1ed5f19b2d85d6bb581f08e78421457c2e2d63a5b64251056ba3/main.spi
00:10:18 verbose #20690 > >
00:10:18 verbose #20691 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:18 verbose #20692 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:18 verbose #20693 > > │ ## read_all_text_async │
00:10:18 verbose #20694 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:18 verbose #20695 > >
00:10:18 verbose #20696 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:18 verbose #20697 > > inl read_all_text_async (path : string) : _ string =
00:10:18 verbose #20698 > > run_target function
00:10:18 verbose #20699 > > | Fsharp (Native) => fun () =>
00:10:18 verbose #20700 > > path |> $'System.IO.File.ReadAllTextAsync' |> async.await_task
00:10:18 verbose #20701 > > | _ => fun () => null ()
00:10:18 verbose #20702 > 00:10:18 debug #949 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/22d96c4714adc3500741b95422a19e59af2313dca9f6f3ae21337b18ba04b012/main.spi
00:10:19 verbose #20703 > >
00:10:19 verbose #20704 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20705 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20706 > > │ ## file_exists_content │
00:10:19 verbose #20707 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20708 > >
00:10:19 verbose #20709 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20710 > > inl file_exists_content path content : _ bool =
00:10:19 verbose #20711 > > run_target function
00:10:19 verbose #20712 > > | Fsharp (Native) => fun () =>
00:10:19 verbose #20713 > > fun () =>
00:10:19 verbose #20714 > > fix_condition
00:10:19 verbose #20715 > > fun () => path |> file_exists |> not
00:10:19 verbose #20716 > > fun () => false |> return
00:10:19 verbose #20717 > > fun () =>
00:10:19 verbose #20718 > > inl existing_content = path |> read_all_text_async |>
00:10:19 verbose #20719 > > async.let'
00:10:19 verbose #20720 > > content = existing_content |> return
00:10:19 verbose #20721 > > |> async.new_async_unit
00:10:19 verbose #20722 > > | _ => fun () => null ()
00:10:19 verbose #20723 > 00:10:18 debug #950 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c6335eb3b1fe32ce3b40c9c53dfefef72538be92ff1baff60c7d8c91e11f0b25/main.spi
00:10:19 verbose #20724 > >
00:10:19 verbose #20725 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20726 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20727 > > │ ## write_all_text │
00:10:19 verbose #20728 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20729 > >
00:10:19 verbose #20730 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20731 > > inl write_all_text (path : string) (text : string) : () =
00:10:19 verbose #20732 > > run_target function
00:10:19 verbose #20733 > > | Fsharp (Native) => fun () =>
00:10:19 verbose #20734 > > inl text = join text
00:10:19 verbose #20735 > > $'System.IO.File.WriteAllText (!path, !text)'
00:10:19 verbose #20736 > > | Rust (Native) => fun () =>
00:10:19 verbose #20737 > > open rust_operators
00:10:19 verbose #20738 > > !\\((path, text), $'"std::fs::write(&*$0, &*$1).unwrap()"')
00:10:19 verbose #20739 > > | _ => fun () => null ()
00:10:19 verbose #20740 > 00:10:18 debug #951 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/36b31e519b94e639d350b1640443ce2437d1adc3ed5b31922973df56010a9b56/main.spi
00:10:19 verbose #20741 > >
00:10:19 verbose #20742 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20743 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20744 > > │ ## read_all_bytes │
00:10:19 verbose #20745 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20746 > >
00:10:19 verbose #20747 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20748 > > inl read_all_bytes (path : string) : am'.vec u8 =
00:10:19 verbose #20749 > > run_target function
00:10:19 verbose #20750 > > | Fsharp (Native) => fun () =>
00:10:19 verbose #20751 > > $'!path |> System.IO.File.ReadAllBytes'
00:10:19 verbose #20752 > > |> am'.to_vec
00:10:19 verbose #20753 > > | Rust (Native) => fun () =>
00:10:19 verbose #20754 > > open rust_operators
00:10:19 verbose #20755 > > !\\(path, $'"std::fs::read(&*$0).unwrap()"')
00:10:19 verbose #20756 > > | _ => fun () => null ()
00:10:19 verbose #20757 > 00:10:18 debug #952 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f1b0d17a3707dc9721b36f9c690e113b0e5f4ee9a5fa6e4157bdc05971dc658/main.spi
00:10:19 verbose #20758 > >
00:10:19 verbose #20759 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20760 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20761 > > │ ## read_all_text │
00:10:19 verbose #20762 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20763 > >
00:10:19 verbose #20764 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20765 > > inl read_all_text (path : string) : string =
00:10:19 verbose #20766 > > run_target function
00:10:19 verbose #20767 > > | Fsharp (Native) => fun () =>
00:10:19 verbose #20768 > > $'!path |> System.IO.File.ReadAllText'
00:10:19 verbose #20769 > > | Rust (Native) => fun () =>
00:10:19 verbose #20770 > > path
00:10:19 verbose #20771 > > |> read_all_bytes
00:10:19 verbose #20772 > > |> sm'.string_from_utf8
00:10:19 verbose #20773 > > |> resultm.unwrap'
00:10:19 verbose #20774 > > |> sm'.from_std_string
00:10:19 verbose #20775 > > | _ => fun () => null ()
00:10:19 verbose #20776 > 00:10:18 debug #953 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/74b84a5cfec3722857ca3259031820b4715faf8b91d4fb42f94af53eb87670a2/main.spi
00:10:19 verbose #20777 > >
00:10:19 verbose #20778 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20779 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20780 > > │ ## write_all_text_async │
00:10:19 verbose #20781 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20782 > >
00:10:19 verbose #20783 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20784 > > inl write_all_text_async (path : string) (text : string) : _ () =
00:10:19 verbose #20785 > > run_target function
00:10:19 verbose #20786 > > | Fsharp (Native) => fun () =>
00:10:19 verbose #20787 > > $'System.IO.File.WriteAllTextAsync (!path, !text)' |>
00:10:19 verbose #20788 > > async.await_task
00:10:19 verbose #20789 > > | _ => fun () => null ()
00:10:19 verbose #20790 > 00:10:18 debug #954 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e2696401b20502358bf763525bb49d7e6b8e3a027b4b5187191b2e56449ed972/main.spi
00:10:19 verbose #20791 > >
00:10:19 verbose #20792 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20793 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20794 > > │ ## write_all_text_exists │
00:10:19 verbose #20795 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20796 > >
00:10:19 verbose #20797 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20798 > > inl write_all_text_exists path contents =
00:10:19 verbose #20799 > > fun () =>
00:10:19 verbose #20800 > > inl exists' = contents |> file_exists_content path |> async.let'
00:10:19 verbose #20801 > > if not exists'
00:10:19 verbose #20802 > > then contents |> write_all_text_async path |> async.do
00:10:19 verbose #20803 > > |> async.new_async
00:10:19 verbose #20804 > 00:10:19 debug #955 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6df8fc921dcd3bafafecd77738dd31ae667b17ff81f50c798b73bdbb34897cc2/main.spi
00:10:19 verbose #20805 > >
00:10:19 verbose #20806 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20807 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20808 > > │ ## delete_directory_async │
00:10:19 verbose #20809 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20810 > >
00:10:19 verbose #20811 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20812 > > inl delete_directory_async path : _ i64 =
00:10:19 verbose #20813 > > run_target function
00:10:19 verbose #20814 > > | Fsharp (Native) => fun () =>
00:10:19 verbose #20815 > > let rec loop (retry : i64) =
00:10:19 verbose #20816 > > fun () =>
00:10:19 verbose #20817 > > try_unit
00:10:19 verbose #20818 > > fun () =>
00:10:19 verbose #20819 > > path |> directory_delete true
00:10:19 verbose #20820 > > retry |> return
00:10:19 verbose #20821 > > fun ex =>
00:10:19 verbose #20822 > > if retry % 100i64 = 0 then
00:10:19 verbose #20823 > > inl ex = ex |> sm'.format_exception
00:10:19 verbose #20824 > > trace Debug
00:10:19 verbose #20825 > > fun () =>
00:10:19 verbose #20826 > > "file_system.delete_directory_async"
00:10:19 verbose #20827 > > fun () => $'$"path: {!path |>
00:10:19 verbose #20828 > > !get_file_name} / ex: {!ex} / {!_locals ()}"'
00:10:19 verbose #20829 > > async.sleep 10i32 |> async.do
00:10:19 verbose #20830 > > loop (retry + 1) |> async.return_await
00:10:19 verbose #20831 > > |> async.new_async
00:10:19 verbose #20832 > > loop 0
00:10:19 verbose #20833 > > | _ => fun () => null ()
00:10:19 verbose #20834 > 00:10:19 debug #956 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9440b5866e8b63bd8744ed40a7287dac65ad707516e407a88eeaa6467e1dfa4d/main.spi
00:10:19 verbose #20835 > >
00:10:19 verbose #20836 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20837 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20838 > > │ ## create_directory' │
00:10:19 verbose #20839 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20840 > >
00:10:19 verbose #20841 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20842 > > inl create_directory' dir =
00:10:19 verbose #20843 > > run_target function
00:10:19 verbose #20844 > > | Fsharp (Native) => fun () =>
00:10:19 verbose #20845 > > inl directory_info = dir |> create_directory
00:10:19 verbose #20846 > >
00:10:19 verbose #20847 > > inl exists' = directory_info |> directory_info_exists
00:10:19 verbose #20848 > > if not exists' then
00:10:19 verbose #20849 > > inl creation_time = directory_info |>
00:10:19 verbose #20850 > > directory_info_creation_time
00:10:19 verbose #20851 > > inl result = ($'{| Exists = !exists'; CreationTime =
00:10:19 verbose #20852 > > !creation_time |}' : any) |> sm'.format_debug
00:10:19 verbose #20853 > > trace Debug
00:10:19 verbose #20854 > > fun () => "file_system.create_directory"
00:10:19 verbose #20855 > > fun () => $'$"dir: {!dir} / result: {!result} {!_locals
00:10:19 verbose #20856 > > ()}"'
00:10:19 verbose #20857 > > inl disposable : _ () = new_disposable fun () =>
00:10:19 verbose #20858 > > dir
00:10:19 verbose #20859 > > |> delete_directory_async
00:10:19 verbose #20860 > > |> async.ignore
00:10:19 verbose #20861 > > |> async.run_synchronously
00:10:19 verbose #20862 > > disposable
00:10:19 verbose #20863 > > | Rust (Native) => fun () =>
00:10:19 verbose #20864 > > inl dir = join dir
00:10:19 verbose #20865 > > match dir |> create_dir_all |> resultm.map_error' sm'.format' |>
00:10:19 verbose #20866 > > resultm.unbox with
00:10:19 verbose #20867 > > | Ok () =>
00:10:19 verbose #20868 > > trace Verbose
00:10:19 verbose #20869 > > fun () => "file_system.create_directory"
00:10:19 verbose #20870 > > fun () => $'$"dir: {!dir} / {!_locals ()}"'
00:10:19 verbose #20871 > > | Error error =>
00:10:19 verbose #20872 > > trace Critical
00:10:19 verbose #20873 > > fun () => "file_system.create_directory"
00:10:19 verbose #20874 > > fun () => $'$"dir: {!dir} / error: {!error} / {!_locals
00:10:19 verbose #20875 > > ()}"'
00:10:19 verbose #20876 > > inl disposable : _ () = new_disposable fun () =>
00:10:19 verbose #20877 > > dir
00:10:19 verbose #20878 > > |> directory_delete true
00:10:19 verbose #20879 > > disposable
00:10:19 verbose #20880 > > | _ => fun () => null ()
00:10:19 verbose #20881 > 00:10:19 debug #957 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5ed0d694c42cfdd6bcdcf2d602ff59a554ff61582dede4eed4734635d5fd2595/main.spi
00:10:19 verbose #20882 > >
00:10:19 verbose #20883 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:19 verbose #20884 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:19 verbose #20885 > > │ ## create_temp_directory │
00:10:19 verbose #20886 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:19 verbose #20887 > >
00:10:19 verbose #20888 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20889 > > inl create_temp_directory () =
00:10:19 verbose #20890 > > inl dir = create_temp_directory_name ()
00:10:19 verbose #20891 > > dir, dir |> create_directory'
00:10:19 verbose #20892 > 00:10:19 debug #958 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6ed0b79b136a4d47dfeccfc59acdda990e8c2f2433e074426aae707366c80df9/main.spi
00:10:19 verbose #20893 > >
00:10:19 verbose #20894 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:19 verbose #20895 > > //// test
00:10:19 verbose #20896 > >
00:10:19 verbose #20897 > > types ()
00:10:19 verbose #20898 > > inl path, disposable = create_temp_directory ()
00:10:19 verbose #20899 > > disposable |> use |> ignore
00:10:19 verbose #20900 > > path
00:10:19 verbose #20901 > > |> directory_exists
00:10:19 verbose #20902 > > |> _assert_eq true
00:10:19 verbose #20903 > 00:10:19 debug #959 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1eac3a414801320768b4c9f06d9784e5ff1a566b7322936a5544be346c7fc49f/main.spi
00:10:20 verbose #20904 > >
00:10:20 verbose #20905 > > ╭─[ 526.12ms - stdout ]────────────────────────────────────────────────────────╮
00:10:20 verbose #20906 > > │ assert_eq / actual: true / expected: true │
00:10:20 verbose #20907 > > │ │
00:10:20 verbose #20908 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:20 verbose #20909 > >
00:10:20 verbose #20910 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:20 verbose #20911 > > //// test
00:10:20 verbose #20912 > > ///! rust -d chrono
00:10:20 verbose #20913 > >
00:10:20 verbose #20914 > > types ()
00:10:20 verbose #20915 > > inl path, disposable = create_temp_directory ()
00:10:20 verbose #20916 > > path
00:10:20 verbose #20917 > > |> directory_exists
00:10:20 verbose #20918 > > |> _assert_eq true
00:10:20 verbose #20919 > > disposable |> use |> ignore
00:10:20 verbose #20920 > > path
00:10:20 verbose #20921 > > |> directory_exists
00:10:20 verbose #20922 > > |> _assert_eq false
00:10:20 verbose #20923 > 00:10:19 debug #960 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/24d29df69481f5fb8aba805f5bbab57ed46aca02c4f904d7ed756c9fb27d4813/main.spi
00:10:32 verbose #20924 > >
00:10:32 verbose #20925 > > ╭─[ 11.86s - return value ]────────────────────────────────────────────────────╮
00:10:32 verbose #20926 > > │ 00:00:00 verbose #1 file_system.create_directory / dir: │
00:10:32 verbose #20927 > > │ /tmp/!spiral_builder_ddbde7e5f5be6849f67084b03c93a29e5896edb9c9eade8337b696e │
00:10:32 verbose #20928 > > │ 46bf1048b/20240520-1350-5642-7730-000000b69697 │
00:10:32 verbose #20929 > > │ assert_eq / actual: true / expected: true │
00:10:32 verbose #20930 > > │ assert_eq / actual: false / expected: false │
00:10:32 verbose #20931 > > │ │
00:10:32 verbose #20932 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:32 verbose #20933 > >
00:10:32 verbose #20934 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:32 verbose #20935 > > //// test
00:10:32 verbose #20936 > >
00:10:32 verbose #20937 > > inl lock_directory path =
00:10:32 verbose #20938 > > fun () =>
00:10:32 verbose #20939 > > trace Debug (fun () => "_1") _locals
00:10:32 verbose #20940 > > "0" |> write_all_text_async (path </> "test.txt") |> async.do
00:10:32 verbose #20941 > > file_stream
00:10:32 verbose #20942 > > (path </> "test.txt")
00:10:32 verbose #20943 > > ModeOpen
00:10:32 verbose #20944 > > AccessReadWrite
00:10:32 verbose #20945 > > ShareNone
00:10:32 verbose #20946 > > |> use
00:10:32 verbose #20947 > > |> ignore
00:10:32 verbose #20948 > > trace Debug (fun () => "_2") _locals
00:10:32 verbose #20949 > > async.sleep 2000 |> async.do
00:10:32 verbose #20950 > > trace Debug (fun () => "_3") _locals
00:10:32 verbose #20951 > > () |> return
00:10:32 verbose #20952 > > |> async.new_async
00:10:32 verbose #20953 > >
00:10:32 verbose #20954 > > types ()
00:10:32 verbose #20955 > > inl temp_dir, disposable = create_temp_directory ()
00:10:32 verbose #20956 > > disposable |> use |> ignore
00:10:32 verbose #20957 > > inl path = temp_dir </> "test"
00:10:32 verbose #20958 > >
00:10:32 verbose #20959 > > fun () =>
00:10:32 verbose #20960 > > trace Debug (fun () => "1") _locals
00:10:32 verbose #20961 > > path |> create_directory |> ignore
00:10:32 verbose #20962 > > trace Debug (fun () => "2") _locals
00:10:32 verbose #20963 > > inl child = path |> lock_directory |> async.start_child |> async.let'
00:10:32 verbose #20964 > > trace Debug (fun () => "3") _locals
00:10:32 verbose #20965 > > async.sleep 60 |> async.do
00:10:32 verbose #20966 > > trace Debug (fun () => "4") _locals
00:10:32 verbose #20967 > > inl retries = path |> delete_directory_async |> async.let'
00:10:32 verbose #20968 > > trace Debug (fun () => "5") _locals
00:10:32 verbose #20969 > > child |> async.do
00:10:32 verbose #20970 > > trace Debug (fun () => "6") _locals
00:10:32 verbose #20971 > > retries |> return
00:10:32 verbose #20972 > > |> async.new_async_unit
00:10:32 verbose #20973 > > |> async.run_with_timeout 3000
00:10:32 verbose #20974 > > |> fun x => x : _ i64
00:10:32 verbose #20975 > > |> function
00:10:32 verbose #20976 > > | Some (retries : i64) =>
00:10:32 verbose #20977 > > retries
00:10:32 verbose #20978 > > |> _assert_between
00:10:32 verbose #20979 > > (if runtime.is_windows () then 50 else 0)
00:10:32 verbose #20980 > > (if runtime.is_windows () then 150 else 0)
00:10:32 verbose #20981 > >
00:10:32 verbose #20982 > > true
00:10:32 verbose #20983 > > | _ => false
00:10:32 verbose #20984 > > |> _assert_eq true
00:10:32 verbose #20985 > 00:10:31 debug #961 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e4862efff04949a7ea86acd4e54827182c51820f2c50404070fcb25170e421dc/main.spi
00:10:34 verbose #20986 > >
00:10:34 verbose #20987 > > ╭─[ 2.52s - stdout ]───────────────────────────────────────────────────────────╮
00:10:34 verbose #20988 > > │ 00:00:00 debug #1 1 │
00:10:34 verbose #20989 > > │ 00:00:00 debug #2 2 │
00:10:34 verbose #20990 > > │ 00:00:00 debug #3 _1 │
00:10:34 verbose #20991 > > │ 00:00:00 debug #4 3 │
00:10:34 verbose #20992 > > │ 00:00:00 debug #5 _2 │
00:10:34 verbose #20993 > > │ 00:00:00 debug #6 4 │
00:10:34 verbose #20994 > > │ 00:00:00 debug #7 5 │
00:10:34 verbose #20995 > > │ 00:00:02 debug #8 _3 │
00:10:34 verbose #20996 > > │ 00:00:02 debug #9 6 │
00:10:34 verbose #20997 > > │ assert_between / actual: 0L / expected: struct (0L, 0L) │
00:10:34 verbose #20998 > > │ assert_eq / actual: true / expected: true │
00:10:34 verbose #20999 > > │ │
00:10:34 verbose #21000 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:34 verbose #21001 > >
00:10:34 verbose #21002 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:34 verbose #21003 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:34 verbose #21004 > > │ ## wait_for_file_access │
00:10:34 verbose #21005 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:34 verbose #21006 > >
00:10:34 verbose #21007 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:34 verbose #21008 > > inl wait_for_file_access access path =
00:10:34 verbose #21009 > > run_target function
00:10:34 verbose #21010 > > | Fsharp (Native) => fun () =>
00:10:34 verbose #21011 > > inl file_access, file_share =
00:10:34 verbose #21012 > > access
00:10:34 verbose #21013 > > |> optionm'.default_value (AccessReadWrite, ShareRead)
00:10:34 verbose #21014 > > let rec loop (retry : i64) : _ i64 =
00:10:34 verbose #21015 > > fun () =>
00:10:34 verbose #21016 > > try_unit
00:10:34 verbose #21017 > > fun () =>
00:10:34 verbose #21018 > > file_stream
00:10:34 verbose #21019 > > path
00:10:34 verbose #21020 > > ModeOpen
00:10:34 verbose #21021 > > file_access
00:10:34 verbose #21022 > > file_share
00:10:34 verbose #21023 > > |> use
00:10:34 verbose #21024 > > |> ignore
00:10:34 verbose #21025 > > retry |> return
00:10:34 verbose #21026 > > fun ex =>
00:10:34 verbose #21027 > > if retry > 0 && retry % 100i64 = 0 then
00:10:34 verbose #21028 > > inl ex = ex |> sm'.format_exception
00:10:34 verbose #21029 > > trace Debug
00:10:34 verbose #21030 > > fun () => "file_system.wait_for_file_access"
00:10:34 verbose #21031 > > fun () => $'$"path: {!path |>
00:10:34 verbose #21032 > > !get_file_name} / retry: {!retry} / ex: {!ex} / {!_locals ()}"'
00:10:34 verbose #21033 > > async.sleep 10i32 |> async.do
00:10:34 verbose #21034 > > loop (retry + 1) |> async.return_await
00:10:34 verbose #21035 > > |> async.new_async
00:10:34 verbose #21036 > > loop 0
00:10:34 verbose #21037 > > | _ => fun () => null ()
00:10:34 verbose #21038 > >
00:10:34 verbose #21039 > > inl wait_for_file_access_read path =
00:10:34 verbose #21040 > > path
00:10:34 verbose #21041 > > |> wait_for_file_access (Some (
00:10:34 verbose #21042 > > AccessRead,
00:10:34 verbose #21043 > > ShareRead
00:10:34 verbose #21044 > > ))
00:10:34 verbose #21045 > 00:10:34 debug #962 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/37ebabe1d377bf2612d5b932bb4a53953dfea71dd6f7afbb38a3e37d825a40f1/main.spi
00:10:34 verbose #21046 > >
00:10:34 verbose #21047 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:34 verbose #21048 > > //// test
00:10:34 verbose #21049 > >
00:10:34 verbose #21050 > > inl lock_file path =
00:10:34 verbose #21051 > > fun () =>
00:10:34 verbose #21052 > > trace Debug (fun () => "_1") _locals
00:10:34 verbose #21053 > > inl stream : file_stream' =
00:10:34 verbose #21054 > > file_stream
00:10:34 verbose #21055 > > path
00:10:34 verbose #21056 > > ModeOpen
00:10:34 verbose #21057 > > AccessReadWrite
00:10:34 verbose #21058 > > ShareNone
00:10:34 verbose #21059 > > |> use
00:10:34 verbose #21060 > > trace Debug (fun () => "_2") _locals
00:10:34 verbose #21061 > > async.sleep 2000 |> async.do
00:10:34 verbose #21062 > > trace Debug (fun () => "_3") _locals
00:10:34 verbose #21063 > > ($'!stream.Seek (0L, System.IO.SeekOrigin.Begin)' : i64) |> ignore
00:10:34 verbose #21064 > > trace Debug (fun () => "_4") _locals
00:10:34 verbose #21065 > > $'!stream.WriteByte' 49u8
00:10:34 verbose #21066 > > trace Debug (fun () => "_5") _locals
00:10:34 verbose #21067 > > stream |> $'_.Flush()'
00:10:34 verbose #21068 > > trace Debug (fun () => "_6") _locals
00:10:34 verbose #21069 > > |> async.new_async
00:10:34 verbose #21070 > >
00:10:34 verbose #21071 > > types ()
00:10:34 verbose #21072 > > inl temp_dir, disposable = create_temp_directory ()
00:10:34 verbose #21073 > > disposable |> use |> ignore
00:10:34 verbose #21074 > > inl path = temp_dir </> "test.txt"
00:10:34 verbose #21075 > >
00:10:34 verbose #21076 > > fun () =>
00:10:34 verbose #21077 > > trace Debug (fun () => "1") _locals
00:10:34 verbose #21078 > > "0" |> write_all_text_async path |> async.do
00:10:34 verbose #21079 > > trace Debug (fun () => "2") _locals
00:10:34 verbose #21080 > > inl child = path |> lock_file |> async.start_child |> async.let'
00:10:34 verbose #21081 > > trace Debug (fun () => "3") _locals
00:10:34 verbose #21082 > > async.sleep 1 |> async.do
00:10:34 verbose #21083 > > trace Debug (fun () => "4") _locals
00:10:34 verbose #21084 > > inl retries = path |> wait_for_file_access None |> async.let'
00:10:34 verbose #21085 > > trace Debug (fun () => "5") _locals
00:10:34 verbose #21086 > > inl text = path |> read_all_text_async |> async.let'
00:10:34 verbose #21087 > > trace Debug (fun () => "6") _locals
00:10:34 verbose #21088 > > child |> async.do
00:10:34 verbose #21089 > > trace Debug (fun () => "7") _locals
00:10:34 verbose #21090 > > (retries, text) |> return
00:10:34 verbose #21091 > > |> async.new_async_unit
00:10:34 verbose #21092 > > |> async.run_with_timeout 3000
00:10:34 verbose #21093 > > |> function
00:10:34 verbose #21094 > > | Some ((retries : i64), text) =>
00:10:34 verbose #21095 > > retries
00:10:34 verbose #21096 > > |> _assert_between
00:10:34 verbose #21097 > > (if runtime.is_windows () then 50 else 100)
00:10:34 verbose #21098 > > (if runtime.is_windows () then 150 else 200)
00:10:34 verbose #21099 > >
00:10:34 verbose #21100 > > text |> _assert_eq (join "1")
00:10:34 verbose #21101 > >
00:10:34 verbose #21102 > > true
00:10:34 verbose #21103 > > | _ => false
00:10:34 verbose #21104 > > |> _assert_eq true
00:10:34 verbose #21105 > 00:10:34 debug #963 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/26f692bdde9828fdf17641d4d466899a378b5950d6926d880bd7fd1a39dccdb7/main.spi
00:10:37 verbose #21106 > >
00:10:37 verbose #21107 > > ╭─[ 2.64s - stdout ]───────────────────────────────────────────────────────────╮
00:10:37 verbose #21108 > > │ 00:00:00 debug #1 1 │
00:10:37 verbose #21109 > > │ 00:00:00 debug #2 2 │
00:10:37 verbose #21110 > > │ 00:00:00 debug #3 3 │
00:10:37 verbose #21111 > > │ 00:00:00 debug #4 _1 │
00:10:37 verbose #21112 > > │ 00:00:00 debug #5 _2 │
00:10:37 verbose #21113 > > │ 00:00:00 debug #6 4 │
00:10:37 verbose #21114 > > │ 00:00:01 debug #7 file_system.wait_for_file_access / path: test.txt / │
00:10:37 verbose #21115 > > │ retry: 100 / ex: System.IO.IOException: The process cannot access the file │
00:10:37 verbose #21116 > > │ '/tmp/!dotnet-repl/20240520-1350-5969-6939-600000c43540/test.txt' because it │
00:10:37 verbose #21117 > > │ is being used by another process. │
00:10:37 verbose #21118 > > │ 00:00:02 debug #8 _3 │
00:10:37 verbose #21119 > > │ 00:00:02 debug #9 _4 │
00:10:37 verbose #21120 > > │ 00:00:02 debug #10 _5 │
00:10:37 verbose #21121 > > │ 00:00:02 debug #11 _6 │
00:10:37 verbose #21122 > > │ 00:00:02 debug #12 5 │
00:10:37 verbose #21123 > > │ 00:00:02 debug #13 6 │
00:10:37 verbose #21124 > > │ 00:00:02 debug #14 7 │
00:10:37 verbose #21125 > > │ assert_between / actual: 167L / expected: struct (100L, 200L) │
00:10:37 verbose #21126 > > │ assert_eq / actual: "1" / expected: "1" │
00:10:37 verbose #21127 > > │ assert_eq / actual: true / expected: true │
00:10:37 verbose #21128 > > │ │
00:10:37 verbose #21129 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:37 verbose #21130 > >
00:10:37 verbose #21131 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:37 verbose #21132 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:37 verbose #21133 > > │ ## read_all_text_retry_async │
00:10:37 verbose #21134 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:37 verbose #21135 > >
00:10:37 verbose #21136 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:37 verbose #21137 > > inl read_all_text_retry_async full_path : async.async (optionm'.option' string)
00:10:37 verbose #21138 > > =
00:10:37 verbose #21139 > > run_target function
00:10:37 verbose #21140 > > | Fsharp (Native) => fun () =>
00:10:37 verbose #21141 > > let rec loop (retry : i64) =
00:10:37 verbose #21142 > > fun () =>
00:10:37 verbose #21143 > > try_unit
00:10:37 verbose #21144 > > fun () =>
00:10:37 verbose #21145 > > if retry > 0
00:10:37 verbose #21146 > > then
00:10:37 verbose #21147 > > full_path
00:10:37 verbose #21148 > > |> wait_for_file_access_read
00:10:37 verbose #21149 > > |> async.run_with_timeout_async 1000
00:10:37 verbose #21150 > > |> async.ignore
00:10:37 verbose #21151 > > |> async.do
00:10:37 verbose #21152 > > full_path |> read_all_text_async |> async.map (Some
00:10:37 verbose #21153 > > >> optionm'.box) |> async.return_await
00:10:37 verbose #21154 > > fun ex =>
00:10:37 verbose #21155 > > fix_condition
00:10:37 verbose #21156 > > fun () => retry <> 0
00:10:37 verbose #21157 > > fun () =>
00:10:37 verbose #21158 > > inl ex = ex |> sm'.format_exception
00:10:37 verbose #21159 > > let _locals () = $'$"retry: {!retry} / ex:
00:10:37 verbose #21160 > > {!ex} / {!_locals ()}"'
00:10:37 verbose #21161 > > trace Debug (fun () =>
00:10:37 verbose #21162 > > $'"read_all_text_retry_async"' : string) _locals
00:10:37 verbose #21163 > > (None : _ string) |> optionm'.box |> return
00:10:37 verbose #21164 > > fun () =>
00:10:37 verbose #21165 > > loop (retry + 1) |> async.return_await
00:10:37 verbose #21166 > > |> async.new_async
00:10:37 verbose #21167 > > loop 0
00:10:37 verbose #21168 > > | _ => fun () => null ()
00:10:37 verbose #21169 > 00:10:37 debug #964 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/348c45ccd88455704a27035106acc6c2e1c8e1e2796a7e536d33733d0707b9c9/main.spi
00:10:37 verbose #21170 > >
00:10:37 verbose #21171 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:37 verbose #21172 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:37 verbose #21173 > > │ ## delete_file_async │
00:10:37 verbose #21174 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:37 verbose #21175 > >
00:10:37 verbose #21176 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:37 verbose #21177 > > inl delete_file_async path : _ i64 =
00:10:37 verbose #21178 > > run_target function
00:10:37 verbose #21179 > > | Fsharp (Native) => fun () =>
00:10:37 verbose #21180 > > let rec loop (retry : i64) =
00:10:37 verbose #21181 > > fun () =>
00:10:37 verbose #21182 > > try_unit
00:10:37 verbose #21183 > > fun () =>
00:10:37 verbose #21184 > > path |> file_delete
00:10:37 verbose #21185 > > return retry
00:10:37 verbose #21186 > > fun ex =>
00:10:37 verbose #21187 > > if retry % 100 = 0 then
00:10:37 verbose #21188 > > trace Warning
00:10:37 verbose #21189 > > fun () => "delete_file_async"
00:10:37 verbose #21190 > > fun () =>
00:10:37 verbose #21191 > > inl ex = ex |> sm'.format_exception
00:10:37 verbose #21192 > > $'$"path: {!path |> !get_file_name}
00:10:37 verbose #21193 > > ex: {!ex} / {!_locals ()}"'
00:10:37 verbose #21194 > > async.sleep 10 |> async.do
00:10:37 verbose #21195 > > loop (retry + 1) |> async.return_await
00:10:37 verbose #21196 > > |> async.new_async
00:10:37 verbose #21197 > > loop 0
00:10:37 verbose #21198 > > | _ => fun () => null ()
00:10:37 verbose #21199 > 00:10:37 debug #965 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e358b84f3bbeccab1fcf4848d1daedf07b2ceb787e6e041d4bf50bb4049ae937/main.spi
00:10:37 verbose #21200 > >
00:10:37 verbose #21201 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:37 verbose #21202 > > //// test
00:10:37 verbose #21203 > >
00:10:37 verbose #21204 > > inl lock_file path =
00:10:37 verbose #21205 > > fun () =>
00:10:37 verbose #21206 > > trace Debug (fun () => "_1") _locals
00:10:37 verbose #21207 > > file_stream
00:10:37 verbose #21208 > > path
00:10:37 verbose #21209 > > ModeOpen
00:10:37 verbose #21210 > > AccessReadWrite
00:10:37 verbose #21211 > > ShareNone
00:10:37 verbose #21212 > > |> use
00:10:37 verbose #21213 > > |> ignore
00:10:37 verbose #21214 > > trace Debug (fun () => "_2") _locals
00:10:37 verbose #21215 > > async.sleep 2000 |> async.do
00:10:37 verbose #21216 > > trace Debug (fun () => "_3") _locals
00:10:37 verbose #21217 > > |> async.new_async
00:10:37 verbose #21218 > >
00:10:37 verbose #21219 > > types ()
00:10:37 verbose #21220 > > inl temp_dir, disposable = create_temp_directory ()
00:10:37 verbose #21221 > > disposable |> use |> ignore
00:10:37 verbose #21222 > > inl path = temp_dir </> "test.txt"
00:10:37 verbose #21223 > >
00:10:37 verbose #21224 > > fun () =>
00:10:37 verbose #21225 > > trace Debug (fun () => "1") _locals
00:10:37 verbose #21226 > > "0" |> write_all_text_async path |> async.do
00:10:37 verbose #21227 > > trace Debug (fun () => "2") _locals
00:10:37 verbose #21228 > > inl child = lock_file path |> async.start_child |> async.let'
00:10:37 verbose #21229 > > trace Debug (fun () => "3") _locals
00:10:37 verbose #21230 > > async.sleep 1 |> async.do
00:10:37 verbose #21231 > > trace Debug (fun () => "4") _locals
00:10:37 verbose #21232 > > inl retries = delete_file_async path |> async.let'
00:10:37 verbose #21233 > > trace Debug (fun () => "5") _locals
00:10:37 verbose #21234 > > child |> async.do
00:10:37 verbose #21235 > > trace Debug (fun () => "6") _locals
00:10:37 verbose #21236 > > return retries
00:10:37 verbose #21237 > > |> async.new_async_unit
00:10:37 verbose #21238 > > |> async.run_with_timeout 3000
00:10:37 verbose #21239 > > |> function
00:10:37 verbose #21240 > > | Some (retries : i64) =>
00:10:37 verbose #21241 > > retries
00:10:37 verbose #21242 > > |> _assert_between
00:10:37 verbose #21243 > > (if runtime.is_windows () then 50 else 0)
00:10:37 verbose #21244 > > (if runtime.is_windows () then 150 else 0)
00:10:37 verbose #21245 > >
00:10:37 verbose #21246 > > true
00:10:37 verbose #21247 > > | _ => false
00:10:37 verbose #21248 > > |> _assert_eq true
00:10:37 verbose #21249 > 00:10:37 debug #966 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7a6fc465e611783b6765006aae1348d08474cbe08505861b1ac1845005e8af00/main.spi
00:10:40 verbose #21250 > >
00:10:40 verbose #21251 > > ╭─[ 2.51s - stdout ]───────────────────────────────────────────────────────────╮
00:10:40 verbose #21252 > > │ 00:00:00 debug #1 1 │
00:10:40 verbose #21253 > > │ 00:00:00 debug #2 2 │
00:10:40 verbose #21254 > > │ 00:00:00 debug #3 3 │
00:10:40 verbose #21255 > > │ 00:00:00 debug #4 _1 │
00:10:40 verbose #21256 > > │ 00:00:00 debug #5 _2 │
00:10:40 verbose #21257 > > │ 00:00:00 debug #6 4 │
00:10:40 verbose #21258 > > │ 00:00:00 debug #7 5 │
00:10:40 verbose #21259 > > │ 00:00:02 debug #8 _3 │
00:10:40 verbose #21260 > > │ 00:00:02 debug #9 6 │
00:10:40 verbose #21261 > > │ assert_between / actual: 0L / expected: struct (0L, 0L) │
00:10:40 verbose #21262 > > │ assert_eq / actual: true / expected: true │
00:10:40 verbose #21263 > > │ │
00:10:40 verbose #21264 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:40 verbose #21265 > >
00:10:40 verbose #21266 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:40 verbose #21267 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:40 verbose #21268 > > │ ## move_file_async │
00:10:40 verbose #21269 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:40 verbose #21270 > >
00:10:40 verbose #21271 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:40 verbose #21272 > > inl move_file_async new_path old_path : _ i64 =
00:10:40 verbose #21273 > > run_target function
00:10:40 verbose #21274 > > | Fsharp (Native) => fun () =>
00:10:40 verbose #21275 > > let rec loop (retry : i64) =
00:10:40 verbose #21276 > > fun () =>
00:10:40 verbose #21277 > > try_unit
00:10:40 verbose #21278 > > fun () =>
00:10:40 verbose #21279 > > old_path |> file_move new_path
00:10:40 verbose #21280 > > return retry
00:10:40 verbose #21281 > > fun ex =>
00:10:40 verbose #21282 > > if retry % 100 = 0 then
00:10:40 verbose #21283 > > inl _locals () =
00:10:40 verbose #21284 > > inl ex = ex |> sm'.format_exception
00:10:40 verbose #21285 > > $'$"old_path: {!old_path |> !get_file_name}
00:10:40 verbose #21286 > > / new_path: {!new_path |> !get_file_name} / ex: {!ex} / {!_locals ()}"'
00:10:40 verbose #21287 > > trace Warning (fun () => "move_file_async")
00:10:40 verbose #21288 > > _locals
00:10:40 verbose #21289 > > async.sleep 10 |> async.do
00:10:40 verbose #21290 > > loop (retry + 1) |> async.return_await
00:10:40 verbose #21291 > > |> async.new_async_unit
00:10:40 verbose #21292 > > loop 0
00:10:40 verbose #21293 > > | _ => fun () => null ()
00:10:40 verbose #21294 > 00:10:39 debug #967 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/52612f086aaf9c633b106009094d81b987ac4ca09b87840c79b2c4d72243adf6/main.spi
00:10:40 verbose #21295 > >
00:10:40 verbose #21296 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:40 verbose #21297 > > //// test
00:10:40 verbose #21298 > >
00:10:40 verbose #21299 > > inl lock_file path =
00:10:40 verbose #21300 > > fun () =>
00:10:40 verbose #21301 > > trace Debug (fun () => "_1") _locals
00:10:40 verbose #21302 > > file_stream
00:10:40 verbose #21303 > > path
00:10:40 verbose #21304 > > ModeOpen
00:10:40 verbose #21305 > > AccessReadWrite
00:10:40 verbose #21306 > > ShareNone
00:10:40 verbose #21307 > > |> use
00:10:40 verbose #21308 > > |> ignore
00:10:40 verbose #21309 > > trace Debug (fun () => "_2") _locals
00:10:40 verbose #21310 > > async.sleep 2000 |> async.do
00:10:40 verbose #21311 > > trace Debug (fun () => "_3") _locals
00:10:40 verbose #21312 > > |> async.new_async
00:10:40 verbose #21313 > >
00:10:40 verbose #21314 > > types ()
00:10:40 verbose #21315 > > inl temp_dir, disposable = create_temp_directory ()
00:10:40 verbose #21316 > > disposable |> use |> ignore
00:10:40 verbose #21317 > > let path = temp_dir </> "test.txt"
00:10:40 verbose #21318 > > let new_path = temp_dir </> "test2.txt"
00:10:40 verbose #21319 > >
00:10:40 verbose #21320 > > fun () =>
00:10:40 verbose #21321 > > trace Debug (fun () => "1") _locals
00:10:40 verbose #21322 > > "0" |> write_all_text_async path |> async.do
00:10:40 verbose #21323 > > trace Debug (fun () => "2") _locals
00:10:40 verbose #21324 > > inl child = lock_file path |> async.start_child |> async.let'
00:10:40 verbose #21325 > > trace Debug (fun () => "3") _locals
00:10:40 verbose #21326 > > async.sleep 1 |> async.do
00:10:40 verbose #21327 > > trace Debug (fun () => "4") _locals
00:10:40 verbose #21328 > > inl retries1 = path |> move_file_async new_path |> async.let'
00:10:40 verbose #21329 > > trace Debug (fun () => "5") _locals
00:10:40 verbose #21330 > > inl retries2 = new_path |> wait_for_file_access None |> async.let'
00:10:40 verbose #21331 > > trace Debug (fun () => "6") _locals
00:10:40 verbose #21332 > > inl text = new_path |> read_all_text_async |> async.let'
00:10:40 verbose #21333 > > trace Debug (fun () => "7") _locals
00:10:40 verbose #21334 > > child |> async.do
00:10:40 verbose #21335 > > trace Debug (fun () => "8") _locals
00:10:40 verbose #21336 > > (retries1, retries2, text) |> return
00:10:40 verbose #21337 > > |> async.new_async_unit
00:10:40 verbose #21338 > > |> async.run_with_timeout 3000
00:10:40 verbose #21339 > > |> function
00:10:40 verbose #21340 > > | Some (retries1, retries2, text) =>
00:10:40 verbose #21341 > > retries1
00:10:40 verbose #21342 > > |> _assert_between
00:10:40 verbose #21343 > > (if runtime.is_windows () then 50i64 else 0)
00:10:40 verbose #21344 > > (if runtime.is_windows () then 150 else 0)
00:10:40 verbose #21345 > >
00:10:40 verbose #21346 > > retries2
00:10:40 verbose #21347 > > |> _assert_between
00:10:40 verbose #21348 > > (if runtime.is_windows () then 0i64 else 100)
00:10:40 verbose #21349 > > (if runtime.is_windows () then 0 else 200)
00:10:40 verbose #21350 > >
00:10:40 verbose #21351 > > text |> _assert_eq (join "0")
00:10:40 verbose #21352 > >
00:10:40 verbose #21353 > > true
00:10:40 verbose #21354 > > | _ => false
00:10:40 verbose #21355 > > |> _assert_eq true
00:10:40 verbose #21356 > 00:10:39 debug #968 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b3764e786e37e2ea9032335c35ebcd4d89e4bfbd07464a5e485bb993f5a16225/main.spi
00:10:42 verbose #21357 > >
00:10:42 verbose #21358 > > ╭─[ 2.63s - stdout ]───────────────────────────────────────────────────────────╮
00:10:42 verbose #21359 > > │ 00:00:00 debug #1 1 │
00:10:42 verbose #21360 > > │ 00:00:00 debug #2 2 │
00:10:42 verbose #21361 > > │ 00:00:00 debug #3 3 │
00:10:42 verbose #21362 > > │ 00:00:00 debug #4 _1 │
00:10:42 verbose #21363 > > │ 00:00:00 debug #5 _2 │
00:10:42 verbose #21364 > > │ 00:00:00 debug #6 4 │
00:10:42 verbose #21365 > > │ 00:00:00 debug #7 5 │
00:10:42 verbose #21366 > > │ 00:00:01 debug #8 file_system.wait_for_file_access / path: test2.txt / │
00:10:42 verbose #21367 > > │ retry: 100 / ex: System.IO.IOException: The process cannot access the file │
00:10:42 verbose #21368 > > │ '/tmp/!dotnet-repl/20240520-1351-0520-2029-200000904095/test2.txt' because │
00:10:42 verbose #21369 > > │ it is being used by another process. │
00:10:42 verbose #21370 > > │ 00:00:02 debug #9 _3 │
00:10:42 verbose #21371 > > │ 00:00:02 debug #10 6 │
00:10:42 verbose #21372 > > │ 00:00:02 debug #11 7 │
00:10:42 verbose #21373 > > │ 00:00:02 debug #12 8 │
00:10:42 verbose #21374 > > │ assert_between / actual: 0L / expected: struct (0L, 0L) │
00:10:42 verbose #21375 > > │ assert_between / actual: 167L / expected: struct (100L, 200L) │
00:10:42 verbose #21376 > > │ assert_eq / actual: "0" / expected: "0" │
00:10:42 verbose #21377 > > │ assert_eq / actual: true / expected: true │
00:10:42 verbose #21378 > > │ │
00:10:42 verbose #21379 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:42 verbose #21380 > >
00:10:42 verbose #21381 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:42 verbose #21382 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:42 verbose #21383 > > │ ## find_parent │
00:10:42 verbose #21384 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:42 verbose #21385 > >
00:10:42 verbose #21386 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:42 verbose #21387 > > inl find_parent name is_file root_dir =
00:10:42 verbose #21388 > > let rec loop dir =
00:10:42 verbose #21389 > > if dir </> name |> (if is_file then file_exists else directory_exists)
00:10:42 verbose #21390 > > then dir
00:10:42 verbose #21391 > > else
00:10:42 verbose #21392 > > inl result = dir |> (join directory_get_parent)
00:10:42 verbose #21393 > > match result |> optionm'.unbox with
00:10:42 verbose #21394 > > | Some parent => parent |> loop
00:10:42 verbose #21395 > > | None => failwith $'$"""No parent for {if !is_file then "file" else
00:10:42 verbose #21396 > > "dir"} \'{!name}\' at \'{!root_dir}\' (until \'{!dir}\')"""'
00:10:42 verbose #21397 > > loop root_dir
00:10:42 verbose #21398 > 00:10:42 debug #969 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/959e43e658fd046d1bda3dfed12fca12430bea0e90bba314a69450ed98a7f038/main.spi
00:10:43 verbose #21399 > >
00:10:43 verbose #21400 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:43 verbose #21401 > > //// test
00:10:43 verbose #21402 > >
00:10:43 verbose #21403 > > a ;[[ ".paket", false; "paket.dependencies", true ]]
00:10:43 verbose #21404 > > |> am.map fun (file, is_file) =>
00:10:43 verbose #21405 > > get_source_directory ()
00:10:43 verbose #21406 > > |> find_parent file is_file
00:10:43 verbose #21407 > > |> directory_info
00:10:43 verbose #21408 > > |> directory_info_name
00:10:43 verbose #21409 > > |> am'.distinct
00:10:43 verbose #21410 > > |> _assert_eq (a ;[[ "polyglot" ]] : _ i32 _)
00:10:43 verbose #21411 > 00:10:42 debug #970 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1c608aa3b1df9143a7f3a603361fe8144f98b8f2195b55adfec8cffbc76fd60d/main.spi
00:10:43 verbose #21412 > >
00:10:43 verbose #21413 > > ╭─[ 165.02ms - stdout ]────────────────────────────────────────────────────────╮
00:10:43 verbose #21414 > > │ assert_eq / actual: [|"polyglot"|] / expected: [|"polyglot"|] │
00:10:43 verbose #21415 > > │ │
00:10:43 verbose #21416 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:43 verbose #21417 > >
00:10:43 verbose #21418 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:43 verbose #21419 > > //// test
00:10:43 verbose #21420 > > ///! rust
00:10:43 verbose #21421 > >
00:10:43 verbose #21422 > > types ()
00:10:43 verbose #21423 > > a ;[[ ".paket", false; "paket.dependencies", true ]]
00:10:43 verbose #21424 > > |> am.map fun (file, is_file) =>
00:10:43 verbose #21425 > > fun () =>
00:10:43 verbose #21426 > > join
00:10:43 verbose #21427 > > get_source_directory ()
00:10:43 verbose #21428 > > |> find_parent file is_file
00:10:43 verbose #21429 > > |> sm'.to_std_string
00:10:43 verbose #21430 > > |> new_path_buf
00:10:43 verbose #21431 > > |> path_buf_file_name
00:10:43 verbose #21432 > > |> optionm'.try'
00:10:43 verbose #21433 > > |> sm'.from_os_str_ref
00:10:43 verbose #21434 > > |> Some
00:10:43 verbose #21435 > > |> optionm'.box
00:10:43 verbose #21436 > > |> fun x => x () |> optionm'.unbox
00:10:43 verbose #21437 > > |> optionm'.default_value ""
00:10:43 verbose #21438 > > |> am'.distinct
00:10:43 verbose #21439 > > |> fun result =>
00:10:43 verbose #21440 > > result |> am'.length |> _assert_eq 1i32
00:10:43 verbose #21441 > > index result 0i32 |> _assert_eq "polyglot"
00:10:43 verbose #21442 > 00:10:42 debug #971 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/73387cacdc372d89ac82a0584f6290d085f31c7d26b550bab10754101bd1f0db/main.spi
00:10:54 verbose #21443 > >
00:10:54 verbose #21444 > > ╭─[ 11.07s - return value ]────────────────────────────────────────────────────╮
00:10:54 verbose #21445 > > │ assert_eq / actual: 1 / expected: 1 │
00:10:54 verbose #21446 > > │ assert_eq / actual: "polyglot" / expected: "polyglot" │
00:10:54 verbose #21447 > > │ │
00:10:54 verbose #21448 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:54 verbose #21449 > >
00:10:54 verbose #21450 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:54 verbose #21451 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:54 verbose #21452 > > │ ## get_workspace_root │
00:10:54 verbose #21453 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:54 verbose #21454 > >
00:10:54 verbose #21455 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:54 verbose #21456 > > inl get_workspace_root () =
00:10:54 verbose #21457 > > get_source_directory ()
00:10:54 verbose #21458 > > |> find_parent ("polyglot" </> ".paket") false
00:10:54 verbose #21459 > > |> fun root => root </> "polyglot"
00:10:54 verbose #21460 > 00:10:53 debug #972 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/182a0e12f3d1557ab64ac049483d21b65e7e06ec158a32d8653e299b2c8ebc96/main.spi
00:10:54 verbose #21461 > >
00:10:54 verbose #21462 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:54 verbose #21463 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:54 verbose #21464 > > │ ## standardize_path │
00:10:54 verbose #21465 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:54 verbose #21466 > >
00:10:54 verbose #21467 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:54 verbose #21468 > > let standardize_path path =
00:10:54 verbose #21469 > > path |> get_full_path |> normalize_path
00:10:54 verbose #21470 > 00:10:54 debug #973 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c6887ef79d5c2ad02381ac9191f091961622d9f6a3d969f252148b853cdcd92b/main.spi
00:10:54 verbose #21471 > >
00:10:54 verbose #21472 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:54 verbose #21473 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:54 verbose #21474 > > │ ## absolute_path │
00:10:54 verbose #21475 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:54 verbose #21476 > >
00:10:54 verbose #21477 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:54 verbose #21478 > > let absolute_path path =
00:10:54 verbose #21479 > > inl current_dir = get_current_directory ()
00:10:54 verbose #21480 > > current_dir </> path |> standardize_path
00:10:54 verbose #21481 > 00:10:54 debug #974 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d914d0031fedd002fe677c600d25756e2b708c5a00740ca28db2ca6f773f9b42/main.spi
00:10:54 verbose #21482 > >
00:10:54 verbose #21483 > > ── markdown ────────────────────────────────────────────────────────────────────
00:10:54 verbose #21484 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:10:54 verbose #21485 > > │ ## new_file_uri │
00:10:54 verbose #21486 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:54 verbose #21487 > >
00:10:54 verbose #21488 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:54 verbose #21489 > > inl new_file_uri (path : string) : string =
00:10:54 verbose #21490 > > inl path = path |> sm'.trim_start ;[[ '/' ]]
00:10:54 verbose #21491 > > $'$"file:///{!path}"'
00:10:54 verbose #21492 > 00:10:54 debug #975 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/16d6193ae601945352d01c54fe91e36ac64c5e9e8481cde4133f28d8130015f5/main.spi
00:10:54 verbose #21493 > >
00:10:54 verbose #21494 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:54 verbose #21495 > > //// test
00:10:54 verbose #21496 > >
00:10:54 verbose #21497 > > @"\\?\C:\test"
00:10:54 verbose #21498 > > |> normalize_path
00:10:54 verbose #21499 > > |> new_file_uri
00:10:54 verbose #21500 > > |> _assert_eq "file:///c:/test"
00:10:54 verbose #21501 > 00:10:54 debug #976 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c428a8c029a4a04047443a9b629af212ecc4dca939661b43b08541ec751f5b76/main.spi
00:10:54 verbose #21502 > >
00:10:54 verbose #21503 > > ╭─[ 128.03ms - stdout ]────────────────────────────────────────────────────────╮
00:10:54 verbose #21504 > > │ assert_eq / actual: "file:///c:/test" / expected: "file:///c:/test" │
00:10:54 verbose #21505 > > │ │
00:10:54 verbose #21506 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:10:54 verbose #21507 > >
00:10:54 verbose #21508 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:10:54 verbose #21509 > > //// test
00:10:54 verbose #21510 > > ///! rust -d regex
00:10:54 verbose #21511 > >
00:10:54 verbose #21512 > > types ()
00:10:54 verbose #21513 > > @"\\?\C:\test"
00:10:54 verbose #21514 > > |> normalize_path
00:10:54 verbose #21515 > > |> new_file_uri
00:10:54 verbose #21516 > > |> _assert_eq "file:///c:/test"
00:10:54 verbose #21517 > 00:10:54 debug #977 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2ff5d72ab420389246f449bbdb98f9f9c5cff7f45e674003d077029f02ead137/main.spi
00:11:05 verbose #21518 > >
00:11:05 verbose #21519 > > ╭─[ 10.93s - return value ]────────────────────────────────────────────────────╮
00:11:05 verbose #21520 > > │ assert_eq / actual: "file:///c:/test" / expected: "file:///c:/test" │
00:11:05 verbose #21521 > > │ │
00:11:05 verbose #21522 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:05 verbose #21523 > >
00:11:05 verbose #21524 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:05 verbose #21525 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:05 verbose #21526 > > │ ## trace_file │
00:11:05 verbose #21527 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:05 verbose #21528 > >
00:11:05 verbose #21529 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:05 verbose #21530 > > let rec trace_file text =
00:11:05 verbose #21531 > > run_target function
00:11:05 verbose #21532 > > | Fsharp (Native) => fun () =>
00:11:05 verbose #21533 > > try_unit
00:11:05 verbose #21534 > > fun () =>
00:11:05 verbose #21535 > > inl assembly_name = env.get_entry_assembly_name ()
00:11:05 verbose #21536 > > inl guid = date_time.now () |> date_time.new_guid_from_date_time
00:11:05 verbose #21537 > > inl file_name = $'$"{!assembly_name}_{!guid}.txt"'
00:11:05 verbose #21538 > >
00:11:05 verbose #21539 > > inl workspace_root = get_workspace_root ()
00:11:05 verbose #21540 > > inl trace_dir = workspace_root </> "target/polyglot/trace"
00:11:05 verbose #21541 > > trace_dir |> create_directory |> ignore
00:11:05 verbose #21542 > > inl path = trace_dir </> file_name
00:11:05 verbose #21543 > > text |> write_all_text_async path |> async.run_synchronously
00:11:05 verbose #21544 > > fun ex =>
00:11:05 verbose #21545 > > trace_file $'$"file_system.trace_file / ex: %A{!ex}"'
00:11:05 verbose #21546 > > | _ => fun () => ()
00:11:05 verbose #21547 > 00:11:05 debug #978 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/eaba0d8fdb3dfc0e5f49b3caf880857f6ed42e0ff222f49f927c40083068ae65/main.spi
00:11:05 verbose #21548 > >
00:11:05 verbose #21549 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:05 verbose #21550 > > //// test
00:11:05 verbose #21551 > >
00:11:05 verbose #21552 > > inl get_count dir : i64 =
00:11:05 verbose #21553 > > inl files = dir |> file_system.directory_get_files
00:11:05 verbose #21554 > > a files |> am'.length
00:11:05 verbose #21555 > >
00:11:05 verbose #21556 > > types ()
00:11:05 verbose #21557 > > inl trace_dir = file_system.get_workspace_root () </> "target/polyglot/trace"
00:11:05 verbose #21558 > > trace_dir |> file_system.create_directory |> ignore
00:11:05 verbose #21559 > >
00:11:05 verbose #21560 > > inl count = get_count trace_dir
00:11:05 verbose #21561 > >
00:11:05 verbose #21562 > > trace_file "test"
00:11:05 verbose #21563 > >
00:11:05 verbose #21564 > > get_count trace_dir
00:11:05 verbose #21565 > > |> _assert_eq (count + 1)
00:11:05 verbose #21566 > 00:11:05 debug #979 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/16447342d269acb691d68aeebd995dad920d50361fd293eb34578421595a77ff/main.spi
00:11:06 verbose #21567 > >
00:11:06 verbose #21568 > > ╭─[ 390.75ms - stdout ]────────────────────────────────────────────────────────╮
00:11:06 verbose #21569 > > │ assert_eq / actual: 1L / expected: 1L │
00:11:06 verbose #21570 > > │ │
00:11:06 verbose #21571 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:06 verbose #21572 > >
00:11:06 verbose #21573 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:06 verbose #21574 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:06 verbose #21575 > > │ ## init_trace_file │
00:11:06 verbose #21576 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:06 verbose #21577 > >
00:11:06 verbose #21578 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:06 verbose #21579 > > inl init_trace_file enabled =
00:11:06 verbose #21580 > > inl state_trace_file = get_trace_state_or_init None .trace_file
00:11:06 verbose #21581 > > state_trace_file <- if enabled then trace_file else ignore
00:11:06 verbose #21582 > 00:11:05 debug #980 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/589e590d0974942c8834eccb60d03ca25acf65cfb131daf453e6d7b479818ed4/main.spi
00:11:06 verbose #21583 > >
00:11:06 verbose #21584 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:06 verbose #21585 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:06 verbose #21586 > > │ ## main │
00:11:06 verbose #21587 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:06 verbose #21588 > >
00:11:06 verbose #21589 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:06 verbose #21590 > > inl main () =
00:11:06 verbose #21591 > > types ()
00:11:06 verbose #21592 > > init_trace_state None
00:11:06 verbose #21593 > > $"let delete_directory_async x = !delete_directory_async x" : ()
00:11:06 verbose #21594 > > $"let wait_for_file_access x = !wait_for_file_access x" : ()
00:11:06 verbose #21595 > > $"let wait_for_file_access_read x = !wait_for_file_access_read x" : ()
00:11:06 verbose #21596 > > $"let read_all_text_async x = !read_all_text_async x" : ()
00:11:06 verbose #21597 > > $"let file_exists_content x = !file_exists_content x" : ()
00:11:06 verbose #21598 > > $"let write_all_text_async x = !write_all_text_async x" : ()
00:11:06 verbose #21599 > > $"let write_all_text_exists x = !write_all_text_exists x" : ()
00:11:06 verbose #21600 > > $"let delete_file_async x = !delete_file_async x" : ()
00:11:06 verbose #21601 > > $"let move_file_async x = !move_file_async x" : ()
00:11:06 verbose #21602 > > $"let read_all_text_retry_async x = !read_all_text_retry_async x" : ()
00:11:06 verbose #21603 > > $"let create_temp_directory_name () = !create_temp_directory_name ()" : ()
00:11:06 verbose #21604 > > $"let create_temp_directory () = !create_temp_directory ()" : ()
00:11:06 verbose #21605 > > $"let get_source_directory () = !get_source_directory ()" : ()
00:11:06 verbose #21606 > > $"let find_parent x = !find_parent x" : ()
00:11:06 verbose #21607 > > $"let normalize_path x = !normalize_path x" : ()
00:11:06 verbose #21608 > > $"let new_file_uri x = !new_file_uri x" : ()
00:11:06 verbose #21609 > > $"let get_workspace_root () = !get_workspace_root ()" : ()
00:11:06 verbose #21610 > > $"let init_trace_file x = !init_trace_file x" : ()
00:11:06 verbose #21611 > > inl combine x = (</>) x
00:11:06 verbose #21612 > > $"let (</>) x = !combine x" : ()
00:11:06 verbose #21613 > 00:11:06 debug #981 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2329d767a77f21bd8f31d725e128b283130da23e9d8eec8f00b8b2adbcecd45a/main.spi
00:11:07 verbose #21614 > 00:01:34 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 94937
00:11:07 verbose #21615 > 00:01:34 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:11:08 verbose #21616 > 00:01:34 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb to html
00:11:08 verbose #21617 > 00:01:34 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:11:08 verbose #21618 > 00:01:34 verbose #7 ! validate(nb)
00:11:08 verbose #21619 > 00:01:35 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:11:08 verbose #21620 > 00:01:35 verbose #9 ! return _pygments_highlight(
00:11:09 verbose #21621 > 00:01:36 verbose #10 ! [NbConvertApp] Writing 538963 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.html
00:11:09 verbose #21622 > 00:01:36 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 906
00:11:09 verbose #21623 > 00:01:36 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 906
00:11:09 verbose #21624 > 00:01:36 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:11:09 verbose #21625 > 00:01:36 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:11:09 verbose #21626 > 00:01:36 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:11:09 verbose #21627 > 00:01:36 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 95902
00:11:09 debug #21628 execute_with_options_async / exit_code: 0 / output.Length: 102004
00:11:09 debug #25 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path file_system.dib --retries 3
00:11:09 debug #21629 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path networking.dib --retries 3",
[||], None, None, true, None)
00:11:09 verbose #21630 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "networking.dib", "--retries", "3"])
00:11:09 verbose #21631 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:11:11 verbose #21632 > >
00:11:11 verbose #21633 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:11 verbose #21634 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:11 verbose #21635 > > │ # networking │
00:11:11 verbose #21636 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:11 verbose #21637 > >
00:11:11 verbose #21638 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:11 verbose #21639 > > open rust_operators
00:11:11 verbose #21640 > >
00:11:11 verbose #21641 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:11:11 verbose #21642 > > #r
00:11:11 verbose #21643 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:11:11 verbose #21644 > > Net.Interactive.Spiral.dll"
00:11:11 verbose #21645 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:11:11 verbose #21646 > > #r
00:11:11 verbose #21647 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:11:11 verbose #21648 > > Net.Interactive.dll"
00:11:11 verbose #21649 > > open type Microsoft.DotNet.Interactive.Kernel
00:11:14 verbose #21650 > >
00:11:14 verbose #21651 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:14 verbose #21652 > > //// test
00:11:14 verbose #21653 > >
00:11:14 verbose #21654 > > open testing
00:11:14 verbose #21655 > >
00:11:14 verbose #21656 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:14 verbose #21657 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:14 verbose #21658 > > │ ## types │
00:11:14 verbose #21659 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:14 verbose #21660 > >
00:11:14 verbose #21661 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:14 verbose #21662 > > inl types () =
00:11:14 verbose #21663 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:11:14 verbose #21664 > > Fable.Core.Emit(\"reqwest_wasm::Error\")>]]\n#endif\ntype reqwest_Error = class
00:11:14 verbose #21665 > > end"
00:11:14 verbose #21666 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:11:14 verbose #21667 > > Fable.Core.Emit(\"reqwest_wasm::RequestBuilder\")>]]\n#endif\ntype
00:11:14 verbose #21668 > > reqwest_RequestBuilder = class end"
00:11:14 verbose #21669 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase;
00:11:14 verbose #21670 > > Fable.Core.Emit(\"reqwest_wasm::Response\")>]]\n#endif\ntype reqwest_Response =
00:11:14 verbose #21671 > > class end"
00:11:14 verbose #21672 > 00:11:14 debug #982 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/866bda7eceb347f94bc860bb782503f3a9bf6d33d7a06328243e1dfe21a2748e/main.spi
00:11:14 verbose #21673 > >
00:11:14 verbose #21674 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:14 verbose #21675 > > inl types () =
00:11:14 verbose #21676 > > types ()
00:11:14 verbose #21677 > > env.types ()
00:11:14 verbose #21678 > > rust.types ()
00:11:14 verbose #21679 > > sm'.types ()
00:11:14 verbose #21680 > 00:11:14 debug #983 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2f7ceb5b30e5f301177d20a29b6e724603f2beea68f11b0d1a3a6c68b14a72b5/main.spi
00:11:14 verbose #21681 > >
00:11:14 verbose #21682 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:14 verbose #21683 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:14 verbose #21684 > > │ ## reqwest_response │
00:11:14 verbose #21685 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:14 verbose #21686 > >
00:11:14 verbose #21687 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:14 verbose #21688 > > nominal reqwest_response = $"reqwest_Response"
00:11:14 verbose #21689 > 00:11:14 debug #984 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f020eb4ed0db19423e47ad743997d3374c7c1c8f954065ac225aa2f702fc0738/main.spi
00:11:14 verbose #21690 > >
00:11:14 verbose #21691 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:14 verbose #21692 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:14 verbose #21693 > > │ ## reqwest_error │
00:11:14 verbose #21694 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:14 verbose #21695 > >
00:11:14 verbose #21696 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:14 verbose #21697 > > nominal reqwest_error = $"reqwest_Error"
00:11:14 verbose #21698 > 00:11:14 debug #985 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f608f473313e69665e003befa9e1b8ac07be352b220e35b6daea2d3c4c1eb7cb/main.spi
00:11:15 verbose #21699 > >
00:11:15 verbose #21700 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21701 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21702 > > │ ## request_builder │
00:11:15 verbose #21703 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21704 > >
00:11:15 verbose #21705 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21706 > > nominal request_builder = $"reqwest_RequestBuilder"
00:11:15 verbose #21707 > 00:11:14 debug #986 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/d3fad8a74625c961f2c6e04dc8a0fa7a000da2cd3f69bcc7d338708d238ccde9/main.spi
00:11:15 verbose #21708 > >
00:11:15 verbose #21709 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21710 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21711 > > │ ## request_type │
00:11:15 verbose #21712 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21713 > >
00:11:15 verbose #21714 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21715 > > union request_type =
00:11:15 verbose #21716 > > | Get
00:11:15 verbose #21717 > > | Post
00:11:15 verbose #21718 > 00:11:14 debug #987 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/cf71cc5724e5b26b9dcc8d065320bf1821f74c393e9c57487857db746411e160/main.spi
00:11:15 verbose #21719 > >
00:11:15 verbose #21720 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21721 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21722 > > │ ## request │
00:11:15 verbose #21723 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21724 > >
00:11:15 verbose #21725 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21726 > > type request =
00:11:15 verbose #21727 > > {
00:11:15 verbose #21728 > > url : string
00:11:15 verbose #21729 > > request_type : request_type
00:11:15 verbose #21730 > > body : string
00:11:15 verbose #21731 > > json : bool
00:11:15 verbose #21732 > > auto_refresh : bool
00:11:15 verbose #21733 > > }
00:11:15 verbose #21734 > 00:11:15 debug #988 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/efbe8d608eac2fc9d09c523d27c158e0c2d49a0035677483f2153ee542983649/main.spi
00:11:15 verbose #21735 > >
00:11:15 verbose #21736 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21737 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21738 > > │ ## new_request_get │
00:11:15 verbose #21739 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21740 > >
00:11:15 verbose #21741 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21742 > > inl new_request_get (url : string) : request_builder =
00:11:15 verbose #21743 > > inl url = join url
00:11:15 verbose #21744 > > inl url = url |> sm'.to_std_string
00:11:15 verbose #21745 > > inl url = join url
00:11:15 verbose #21746 > > !\($'"reqwest_wasm::Client::builder().build().map_err(|err|
00:11:15 verbose #21747 > > err.to_string())?.get(!url)"')
00:11:15 verbose #21748 > 00:11:15 debug #989 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3f9ff46b5fe349ec2aa6645c567ca32876cff77499105dbaac3010cdc71c3734/main.spi
00:11:15 verbose #21749 > >
00:11:15 verbose #21750 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21751 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21752 > > │ ## new_request_post │
00:11:15 verbose #21753 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21754 > >
00:11:15 verbose #21755 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21756 > > inl new_request_post (url : string) : request_builder =
00:11:15 verbose #21757 > > inl url = join url
00:11:15 verbose #21758 > > inl url = url |> sm'.to_std_string
00:11:15 verbose #21759 > > inl url = join url
00:11:15 verbose #21760 > > !\($'"reqwest_wasm::Client::builder().build().map_err(|err|
00:11:15 verbose #21761 > > err.to_string())?.post(!url)"')
00:11:15 verbose #21762 > 00:11:15 debug #990 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/b46960147b20661e3488b2c2907175a4b8d66e755bff069e915ffc5124114159/main.spi
00:11:15 verbose #21763 > >
00:11:15 verbose #21764 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21765 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21766 > > │ ## request_send │
00:11:15 verbose #21767 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21768 > >
00:11:15 verbose #21769 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21770 > > inl request_send (request : request_builder) : async.future_pin (resultm.result'
00:11:15 verbose #21771 > > reqwest_response reqwest_error) =
00:11:15 verbose #21772 > > inl request = join request
00:11:15 verbose #21773 > > !\($'"Box::pin(reqwest_wasm::RequestBuilder::send(!request))"')
00:11:15 verbose #21774 > 00:11:15 debug #991 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8494944772a730275e1eedf8e6151fb5de670e9cbdbda56a638c6feb26b79856/main.spi
00:11:15 verbose #21775 > >
00:11:15 verbose #21776 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21777 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21778 > > │ ## request_body │
00:11:15 verbose #21779 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21780 > >
00:11:15 verbose #21781 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21782 > > inl request_body (body : string) (request : request_builder) : request_builder =
00:11:15 verbose #21783 > > inl body = body |> sm'.to_std_string
00:11:15 verbose #21784 > > !\($'"reqwest_wasm::RequestBuilder::body(!request, !body)"')
00:11:15 verbose #21785 > 00:11:15 debug #992 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9c76496c52d65b14e72fe6c2167bd498adfc1a7f577bfa29383c686ebeac87b9/main.spi
00:11:15 verbose #21786 > >
00:11:15 verbose #21787 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21788 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21789 > > │ ## request_header │
00:11:15 verbose #21790 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21791 > >
00:11:15 verbose #21792 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21793 > > inl request_header (key : string) (value : string) (request : request_builder) :
00:11:15 verbose #21794 > > request_builder =
00:11:15 verbose #21795 > > inl request = join request
00:11:15 verbose #21796 > > inl key = key |> sm'.to_std_string
00:11:15 verbose #21797 > > inl value = value |> sm'.to_std_string
00:11:15 verbose #21798 > > !\($'"reqwest_wasm::RequestBuilder::header(!request, !key, !value)"')
00:11:15 verbose #21799 > 00:11:15 debug #993 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/36017086a90d3dcb8e4b3225f743bb2d52f10b47340369c1b8ae20c899e5d9da/main.spi
00:11:15 verbose #21800 > >
00:11:15 verbose #21801 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21802 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21803 > > │ ## request_json │
00:11:15 verbose #21804 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21805 > >
00:11:15 verbose #21806 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21807 > > inl request_json forall t. (obj : t) (request : request_builder) :
00:11:15 verbose #21808 > > request_builder =
00:11:15 verbose #21809 > > !\($'"reqwest_wasm::RequestBuilder::json(!request, &!obj)"')
00:11:15 verbose #21810 > 00:11:15 debug #994 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/798b48261fa289fc71ad9fdbcaa693e5f72413bc6571ca006fa82948763ce9d7/main.spi
00:11:15 verbose #21811 > >
00:11:15 verbose #21812 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:15 verbose #21813 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:15 verbose #21814 > > │ ## response_text │
00:11:15 verbose #21815 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:15 verbose #21816 > >
00:11:15 verbose #21817 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:15 verbose #21818 > > inl response_text (response : reqwest_response) : async.future_pin
00:11:15 verbose #21819 > > (resultm.result' sm'.std_string reqwest_error) =
00:11:15 verbose #21820 > > !\($'"Box::pin(reqwest_wasm::Response::text(!response))"')
00:11:15 verbose #21821 > 00:11:15 debug #995 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e316329284cc0831e84885b2fc105ed161c76dfd937885d217f6c68e44eeeee4/main.spi
00:11:16 verbose #21822 > >
00:11:16 verbose #21823 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21824 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21825 > > │ ## tcp_client │
00:11:16 verbose #21826 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21827 > >
00:11:16 verbose #21828 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21829 > > nominal tcp_client = $'System.Net.Sockets.TcpClient'
00:11:16 verbose #21830 > 00:11:15 debug #996 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/46eaa3e577667b9a6914fd326396bb3e6eafc85de744c9eb0143f636bf461ad4/main.spi
00:11:16 verbose #21831 > >
00:11:16 verbose #21832 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21833 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21834 > > │ ## new_tcp_client │
00:11:16 verbose #21835 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21836 > >
00:11:16 verbose #21837 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21838 > > inl new_tcp_client () : tcp_client =
00:11:16 verbose #21839 > > $'new `tcp_client ()'
00:11:16 verbose #21840 > 00:11:15 debug #997 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c67a9dda672f2159deee681fb592b9f86c14f3a8a5570562dbb75c09f387a5ef/main.spi
00:11:16 verbose #21841 > >
00:11:16 verbose #21842 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21843 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21844 > > │ ## ip_address │
00:11:16 verbose #21845 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21846 > >
00:11:16 verbose #21847 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21848 > > nominal ip_address = $'System.Net.IPAddress'
00:11:16 verbose #21849 > 00:11:15 debug #998 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/f1f304687de66bf65b651bf60c583d41724839375660fc36e1a6807832c9e622/main.spi
00:11:16 verbose #21850 > >
00:11:16 verbose #21851 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21852 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21853 > > │ ## ip_address_parse │
00:11:16 verbose #21854 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21855 > >
00:11:16 verbose #21856 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21857 > > inl ip_address_parse (s : string) : ip_address =
00:11:16 verbose #21858 > > s |> $'`ip_address.Parse'
00:11:16 verbose #21859 > 00:11:15 debug #999 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/815b6a6693485889f1a4e0feb926603c89a2289c42e10db81c50783cde7d6fa2/main.spi
00:11:16 verbose #21860 > >
00:11:16 verbose #21861 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21862 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21863 > > │ ## tcp_listener │
00:11:16 verbose #21864 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21865 > >
00:11:16 verbose #21866 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21867 > > nominal tcp_listener = $'System.Net.Sockets.TcpListener'
00:11:16 verbose #21868 > 00:11:15 debug #1000 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a22189948ef604fbaf525932194336d706df574b91e07c0eb9762ebabc5f8276/main.spi
00:11:16 verbose #21869 > >
00:11:16 verbose #21870 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21871 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21872 > > │ ## new_tcp_listener │
00:11:16 verbose #21873 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21874 > >
00:11:16 verbose #21875 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21876 > > inl new_tcp_listener (ip_address : ip_address) (port : i32) : tcp_listener =
00:11:16 verbose #21877 > > $'new `tcp_listener (!ip_address, !port)'
00:11:16 verbose #21878 > 00:11:15 debug #1001 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c258231d930321945432800c2e662cbeb97b1b8e642353dc824c79971974c6f4/main.spi
00:11:16 verbose #21879 > >
00:11:16 verbose #21880 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21881 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21882 > > │ ## listener_start │
00:11:16 verbose #21883 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21884 > >
00:11:16 verbose #21885 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21886 > > inl listener_start (listener : tcp_listener) : () =
00:11:16 verbose #21887 > > $'!listener.Start' ()
00:11:16 verbose #21888 > 00:11:16 debug #1002 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/198b600b9c63e79a3326681b275de8a26e1a23c92feee7064192e82fbff49936/main.spi
00:11:16 verbose #21889 > >
00:11:16 verbose #21890 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21891 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21892 > > │ ## listener_stop │
00:11:16 verbose #21893 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21894 > >
00:11:16 verbose #21895 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21896 > > inl listener_stop (listener : tcp_listener) : () =
00:11:16 verbose #21897 > > $'!listener.Stop' ()
00:11:16 verbose #21898 > 00:11:16 debug #1003 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/c6fe81e017d141ae1b614531a67b75d047b380b56d1827066dfd95162f0be666/main.spi
00:11:16 verbose #21899 > >
00:11:16 verbose #21900 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21901 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21902 > > │ ## client_connect_async │
00:11:16 verbose #21903 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21904 > >
00:11:16 verbose #21905 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21906 > > inl client_connect_async
00:11:16 verbose #21907 > > (host : string)
00:11:16 verbose #21908 > > (port : i32)
00:11:16 verbose #21909 > > (ct : threading.cancellation_token)
00:11:16 verbose #21910 > > (client : tcp_client)
00:11:16 verbose #21911 > > : async.value_task
00:11:16 verbose #21912 > > =
00:11:16 verbose #21913 > > $'!client.ConnectAsync (!host, !port, !ct)'
00:11:16 verbose #21914 > 00:11:16 debug #1004 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/8044bf054313bedf72ca30fc34c3a46bd0efc03c596a9020eb20a9c6e23a83fb/main.spi
00:11:16 verbose #21915 > >
00:11:16 verbose #21916 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:16 verbose #21917 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:16 verbose #21918 > > │ ## test_port_open │
00:11:16 verbose #21919 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:16 verbose #21920 > >
00:11:16 verbose #21921 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21922 > > inl test_port_open host port : _ bool = async.new_async fun () =>
00:11:16 verbose #21923 > > inl ct = async.cancellation_token () |> async.let'
00:11:16 verbose #21924 > > inl client = new_tcp_client () |> use
00:11:16 verbose #21925 > > try_unit
00:11:16 verbose #21926 > > fun () =>
00:11:16 verbose #21927 > > client |> client_connect_async host port ct |>
00:11:16 verbose #21928 > > async.await_value_task_unit |> async.do
00:11:16 verbose #21929 > > return true
00:11:16 verbose #21930 > > fun ex =>
00:11:16 verbose #21931 > > inl ex = ex |> sm'.format_exception
00:11:16 verbose #21932 > > trace Verbose (fun () => $'$"networking.test_port_open / port:
00:11:16 verbose #21933 > > {!port} / ex: {!ex}"') _locals
00:11:16 verbose #21934 > > return false
00:11:16 verbose #21935 > 00:11:16 debug #1005 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/40041c92ca57e961379a56143c76cf0953c5bec190e08d9fc0c6af63cd525e21/main.spi
00:11:16 verbose #21936 > >
00:11:16 verbose #21937 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:16 verbose #21938 > > //// test
00:11:16 verbose #21939 > >
00:11:16 verbose #21940 > > test_port_open "127.0.0.1" 65536
00:11:16 verbose #21941 > > |> async.run_with_timeout 120
00:11:16 verbose #21942 > > |> _assert_eq (Some false)
00:11:16 verbose #21943 > 00:11:16 debug #1006 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/7c069bc885a525430fc900c5b1d0fd400b04d4eb9cc7491f36c824dbc97478cd/main.spi
00:11:18 verbose #21944 > >
00:11:18 verbose #21945 > > ╭─[ 1.63s - stdout ]───────────────────────────────────────────────────────────╮
00:11:18 verbose #21946 > > │ 00:00:00 verbose #1 networking.test_port_open / port: 65536 / ex: │
00:11:18 verbose #21947 > > │ System.ArgumentOutOfRangeException: Specified argument was out of the range │
00:11:18 verbose #21948 > > │ of valid values. (Parameter 'port') │
00:11:18 verbose #21949 > > │ assert_eq / actual: US2_0 false / expected: US2_0 false │
00:11:18 verbose #21950 > > │ │
00:11:18 verbose #21951 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:18 verbose #21952 > >
00:11:18 verbose #21953 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:18 verbose #21954 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:18 verbose #21955 > > │ ## test_port_open_timeout │
00:11:18 verbose #21956 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:18 verbose #21957 > >
00:11:18 verbose #21958 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:18 verbose #21959 > > inl test_port_open_timeout timeout host port : _ bool = async.new_async_unit fun
00:11:18 verbose #21960 > > () =>
00:11:18 verbose #21961 > > test_port_open host port
00:11:18 verbose #21962 > > |> async.run_with_timeout_async timeout
00:11:18 verbose #21963 > > |> async.let'
00:11:18 verbose #21964 > > |> function
00:11:18 verbose #21965 > > | None => false
00:11:18 verbose #21966 > > | Some result => result
00:11:18 verbose #21967 > > |> return
00:11:18 verbose #21968 > 00:11:17 debug #1007 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5ef08ac1880a630f5f2a8e14ef76b740acd4f7c49cfd78ab6a67826b910baafd/main.spi
00:11:18 verbose #21969 > >
00:11:18 verbose #21970 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:18 verbose #21971 > > //// test
00:11:18 verbose #21972 > >
00:11:18 verbose #21973 > > test_port_open_timeout 120 "127.0.0.1" 65535
00:11:18 verbose #21974 > > |> async.run_synchronously
00:11:18 verbose #21975 > > |> _assert_eq false
00:11:18 verbose #21976 > 00:11:18 debug #1008 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/4a4621e852a9698f21ce562e08b503c9d7b917781802b5296b0691d90dbcb988/main.spi
00:11:19 verbose #21977 > >
00:11:19 verbose #21978 > > ╭─[ 545.71ms - stdout ]────────────────────────────────────────────────────────╮
00:11:19 verbose #21979 > > │ 00:00:00 verbose #1 networking.test_port_open / port: 65535 / ex: │
00:11:19 verbose #21980 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:19 verbose #21981 > > │ assert_eq / actual: false / expected: false │
00:11:19 verbose #21982 > > │ │
00:11:19 verbose #21983 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:19 verbose #21984 > >
00:11:19 verbose #21985 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:19 verbose #21986 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:19 verbose #21987 > > │ ## wait_for_port_access │
00:11:19 verbose #21988 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:19 verbose #21989 > >
00:11:19 verbose #21990 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:19 verbose #21991 > > inl wait_for_port_access timeout status host port : _ i64 =
00:11:19 verbose #21992 > > let rec loop retry : _ i64 = async.new_async_unit fun () =>
00:11:19 verbose #21993 > > inl isPortOpen =
00:11:19 verbose #21994 > > match timeout |> optionm'.unbox with
00:11:19 verbose #21995 > > | None => test_port_open host port
00:11:19 verbose #21996 > > | Some timeout => test_port_open_timeout timeout host port
00:11:19 verbose #21997 > > |> async.let'
00:11:19 verbose #21998 > >
00:11:19 verbose #21999 > > fix_condition
00:11:19 verbose #22000 > > fun () => isPortOpen = status
00:11:19 verbose #22001 > > fun () => retry |> return
00:11:19 verbose #22002 > > fun () =>
00:11:19 verbose #22003 > > if retry % 100 = 0 then
00:11:19 verbose #22004 > > inl _locals () = $'$"port: {!port} / retry: {!retry}
00:11:19 verbose #22005 > > timeout: %A{!timeout} / status: {!status} / {!_locals ()}"'
00:11:19 verbose #22006 > > trace Verbose (fun () => "networking.wait_for_port_access")
00:11:19 verbose #22007 > > _locals
00:11:19 verbose #22008 > > async.sleep 10 |> async.do
00:11:19 verbose #22009 > > loop (retry + 1) |> async.return_await
00:11:19 verbose #22010 > > loop 0i64
00:11:19 verbose #22011 > 00:11:18 debug #1009 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2688c5827ed8426aec3e6d1b910986bc98797cf5d5894c78c0733e35d2d915e3/main.spi
00:11:19 verbose #22012 > >
00:11:19 verbose #22013 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:19 verbose #22014 > > //// test
00:11:19 verbose #22015 > >
00:11:19 verbose #22016 > > inl lock_port host port = async.new_async fun () =>
00:11:19 verbose #22017 > > trace Debug (fun () => "_1") _locals
00:11:19 verbose #22018 > > async.sleep 5000 |> async.do
00:11:19 verbose #22019 > > inl listener = new_tcp_listener (host |> ip_address_parse) port |> use
00:11:19 verbose #22020 > > trace Debug (fun () => "_2") _locals
00:11:19 verbose #22021 > > listener |> listener_start
00:11:19 verbose #22022 > > trace Debug (fun () => "_3") _locals
00:11:19 verbose #22023 > > async.sleep 2000 |> async.do
00:11:19 verbose #22024 > > trace Debug (fun () => "_4") _locals
00:11:19 verbose #22025 > > $'!listener.Stop' ()
00:11:19 verbose #22026 > > trace Debug (fun () => "_5") _locals
00:11:19 verbose #22027 > >
00:11:19 verbose #22028 > > inl host = "127.0.0.1"
00:11:19 verbose #22029 > > inl port = 5555i32
00:11:19 verbose #22030 > >
00:11:19 verbose #22031 > > fun () =>
00:11:19 verbose #22032 > > trace Debug (fun () => "1") _locals
00:11:19 verbose #22033 > > inl child = lock_port host port |> async.start_child |> async.let'
00:11:19 verbose #22034 > > trace Debug (fun () => "2") _locals
00:11:19 verbose #22035 > > async.sleep 1 |> async.do
00:11:19 verbose #22036 > > trace Debug (fun () => "3") _locals
00:11:19 verbose #22037 > > inl retries1 = wait_for_port_access (None |> optionm'.box) true host port |>
00:11:19 verbose #22038 > > async.let'
00:11:19 verbose #22039 > > trace Debug (fun () => "4") _locals
00:11:19 verbose #22040 > > inl retries2 = wait_for_port_access (None |> optionm'.box) false host port
00:11:19 verbose #22041 > > |> async.let'
00:11:19 verbose #22042 > > trace Debug (fun () => "5") _locals
00:11:19 verbose #22043 > > child |> async.do
00:11:19 verbose #22044 > > trace Debug (fun () => "6") _locals
00:11:19 verbose #22045 > > (retries1, retries2) |> return
00:11:19 verbose #22046 > > |> async.new_async_unit
00:11:19 verbose #22047 > > |> async.run_with_timeout 20000
00:11:19 verbose #22048 > > |> function
00:11:19 verbose #22049 > > | Some (retries1, retries2) =>
00:11:19 verbose #22050 > > retries1
00:11:19 verbose #22051 > > |> _assert_between
00:11:19 verbose #22052 > > if runtime.is_windows () then 2i64 else 2
00:11:19 verbose #22053 > > if runtime.is_windows () then 5 else 1500
00:11:19 verbose #22054 > >
00:11:19 verbose #22055 > > retries2
00:11:19 verbose #22056 > > |> _assert_between
00:11:19 verbose #22057 > > if runtime.is_windows () then 80i64 else 80
00:11:19 verbose #22058 > > if runtime.is_windows () then 150 else 600
00:11:19 verbose #22059 > >
00:11:19 verbose #22060 > > true
00:11:19 verbose #22061 > > | _ => false
00:11:19 verbose #22062 > > |> _assert_eq true
00:11:19 verbose #22063 > 00:11:18 debug #1010 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6d7492d9e64d5d3ffa6777c911a95ae92bf0ff3b2daaa17c8ee8be9bc676a42d/main.spi
00:11:27 verbose #22064 > >
00:11:27 verbose #22065 > > ╭─[ 8.16s - stdout ]───────────────────────────────────────────────────────────╮
00:11:27 verbose #22066 > > │ 00:00:00 debug #1 1 │
00:11:27 verbose #22067 > > │ 00:00:00 debug #2 _1 │
00:11:27 verbose #22068 > > │ 00:00:00 debug #3 2 │
00:11:27 verbose #22069 > > │ 00:00:00 debug #4 3 │
00:11:27 verbose #22070 > > │ 00:00:00 verbose #5 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22071 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22072 > > │ 00:00:00 verbose #6 networking.wait_for_port_access / port: 5555 / retry: 0 │
00:11:27 verbose #22073 > > │ / timeout: None / status: True │
00:11:27 verbose #22074 > > │ 00:00:00 verbose #7 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22075 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22076 > > │ 00:00:00 verbose #8 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22077 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22078 > > │ 00:00:00 verbose #9 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22079 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22080 > > │ 00:00:00 verbose #10 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22081 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22082 > > │ 00:00:00 verbose #11 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22083 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22084 > > │ 00:00:00 verbose #12 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22085 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22086 > > │ 00:00:00 verbose #13 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22087 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22088 > > │ 00:00:00 verbose #14 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22089 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22090 > > │ 00:00:00 verbose #15 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22091 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22092 > > │ 00:00:00 verbose #16 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22093 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22094 > > │ 00:00:00 verbose #17 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22095 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22096 > > │ 00:00:00 verbose #18 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22097 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22098 > > │ 00:00:00 verbose #19 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22099 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22100 > > │ 00:00:00 verbose #20 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22101 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22102 > > │ 00:00:00 verbose #21 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22103 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22104 > > │ 00:00:00 verbose #22 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22105 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22106 > > │ 00:00:00 verbose #23 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22107 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22108 > > │ 00:00:00 verbose #24 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22109 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22110 > > │ 00:00:00 verbose #25 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22111 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22112 > > │ 00:00:00 verbose #26 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22113 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22114 > > │ 00:00:00 verbose #27 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22115 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22116 > > │ 00:00:00 verbose #28 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22117 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22118 > > │ 00:00:00 verbose #29 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22119 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22120 > > │ 00:00:00 verbose #30 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22121 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22122 > > │ 00:00:00 verbose #31 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22123 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22124 > > │ 00:00:00 verbose #32 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22125 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22126 > > │ 00:00:00 verbose #33 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22127 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22128 > > │ 00:00:00 verbose #34 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22129 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22130 > > │ 00:00:00 verbose #35 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22131 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22132 > > │ 00:00:00 verbose #36 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22133 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22134 > > │ 00:00:00 verbose #37 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22135 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22136 > > │ 00:00:00 verbose #38 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22137 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22138 > > │ 00:00:00 verbose #39 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22139 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22140 > > │ 00:00:00 verbose #40 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22141 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22142 > > │ 00:00:00 verbose #41 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22143 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22144 > > │ 00:00:00 verbose #42 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22145 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22146 > > │ 00:00:00 verbose #43 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22147 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22148 > > │ 00:00:00 verbose #44 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22149 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22150 > > │ 00:00:00 verbose #45 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22151 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22152 > > │ 00:00:00 verbose #46 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22153 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22154 > > │ 00:00:00 verbose #47 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22155 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22156 > > │ 00:00:00 verbose #48 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22157 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22158 > > │ 00:00:00 verbose #49 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22159 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22160 > > │ 00:00:00 verbose #50 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22161 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22162 > > │ 00:00:00 verbose #51 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22163 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22164 > > │ 00:00:00 verbose #52 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22165 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22166 > > │ 00:00:00 verbose #53 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22167 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22168 > > │ 00:00:00 verbose #54 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22169 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22170 > > │ 00:00:00 verbose #55 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22171 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22172 > > │ 00:00:00 verbose #56 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22173 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22174 > > │ 00:00:00 verbose #57 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22175 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22176 > > │ 00:00:00 verbose #58 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22177 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22178 > > │ 00:00:00 verbose #59 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22179 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22180 > > │ 00:00:00 verbose #60 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22181 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22182 > > │ 00:00:00 verbose #61 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22183 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22184 > > │ 00:00:00 verbose #62 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22185 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22186 > > │ 00:00:00 verbose #63 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22187 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22188 > > │ 00:00:00 verbose #64 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22189 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22190 > > │ 00:00:00 verbose #65 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22191 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22192 > > │ 00:00:00 verbose #66 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22193 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22194 > > │ 00:00:00 verbose #67 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22195 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22196 > > │ 00:00:00 verbose #68 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22197 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22198 > > │ 00:00:00 verbose #69 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22199 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22200 > > │ 00:00:00 verbose #70 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22201 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22202 > > │ 00:00:00 verbose #71 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22203 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22204 > > │ 00:00:00 verbose #72 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22205 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22206 > > │ 00:00:00 verbose #73 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22207 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22208 > > │ 00:00:00 verbose #74 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22209 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22210 > > │ 00:00:00 verbose #75 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22211 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22212 > > │ 00:00:00 verbose #76 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22213 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22214 > > │ 00:00:00 verbose #77 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22215 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22216 > > │ 00:00:00 verbose #78 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22217 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22218 > > │ 00:00:00 verbose #79 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22219 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22220 > > │ 00:00:00 verbose #80 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22221 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22222 > > │ 00:00:00 verbose #81 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22223 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22224 > > │ 00:00:00 verbose #82 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22225 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22226 > > │ 00:00:00 verbose #83 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22227 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22228 > > │ 00:00:00 verbose #84 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22229 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22230 > > │ 00:00:00 verbose #85 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22231 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22232 > > │ 00:00:00 verbose #86 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22233 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22234 > > │ 00:00:00 verbose #87 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22235 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22236 > > │ 00:00:01 verbose #88 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22237 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22238 > > │ 00:00:01 verbose #89 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22239 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22240 > > │ 00:00:01 verbose #90 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22241 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22242 > > │ 00:00:01 verbose #91 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22243 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22244 > > │ 00:00:01 verbose #92 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22245 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22246 > > │ 00:00:01 verbose #93 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22247 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22248 > > │ 00:00:01 verbose #94 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22249 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22250 > > │ 00:00:01 verbose #95 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22251 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22252 > > │ 00:00:01 verbose #96 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22253 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22254 > > │ 00:00:01 verbose #97 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22255 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22256 > > │ 00:00:01 verbose #98 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22257 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22258 > > │ 00:00:01 verbose #99 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22259 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22260 > > │ 00:00:01 verbose #100 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22261 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22262 > > │ 00:00:01 verbose #101 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22263 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22264 > > │ 00:00:01 verbose #102 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22265 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22266 > > │ 00:00:01 verbose #103 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22267 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22268 > > │ 00:00:01 verbose #104 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22269 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22270 > > │ 00:00:01 verbose #105 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22271 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22272 > > │ 00:00:01 verbose #106 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22273 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22274 > > │ 00:00:01 verbose #107 networking.wait_for_port_access / port: 5555 / retry: │
00:11:27 verbose #22275 > > │ 100 / timeout: None / status: True │
00:11:27 verbose #22276 > > │ 00:00:01 verbose #108 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22277 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22278 > > │ 00:00:01 verbose #109 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22279 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22280 > > │ 00:00:01 verbose #110 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22281 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22282 > > │ 00:00:01 verbose #111 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22283 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22284 > > │ 00:00:01 verbose #112 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22285 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22286 > > │ 00:00:01 verbose #113 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22287 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22288 > > │ 00:00:01 verbose #114 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22289 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22290 > > │ 00:00:01 verbose #115 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22291 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22292 > > │ 00:00:01 verbose #116 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22293 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22294 > > │ 00:00:01 verbose #117 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22295 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22296 > > │ 00:00:01 verbose #118 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22297 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22298 > > │ 00:00:01 verbose #119 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22299 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22300 > > │ 00:00:01 verbose #120 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22301 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22302 > > │ 00:00:01 verbose #121 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22303 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22304 > > │ 00:00:01 verbose #122 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22305 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22306 > > │ 00:00:01 verbose #123 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22307 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22308 > > │ 00:00:01 verbose #124 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22309 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22310 > > │ 00:00:01 verbose #125 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22311 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22312 > > │ 00:00:01 verbose #126 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22313 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22314 > > │ 00:00:01 verbose #127 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22315 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22316 > > │ 00:00:01 verbose #128 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22317 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22318 > > │ 00:00:01 verbose #129 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22319 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22320 > > │ 00:00:01 verbose #130 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22321 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22322 > > │ 00:00:01 verbose #131 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22323 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22324 > > │ 00:00:01 verbose #132 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22325 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22326 > > │ 00:00:01 verbose #133 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22327 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22328 > > │ 00:00:01 verbose #134 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22329 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22330 > > │ 00:00:01 verbose #135 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22331 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22332 > > │ 00:00:01 verbose #136 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22333 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22334 > > │ 00:00:01 verbose #137 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22335 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22336 > > │ 00:00:01 verbose #138 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22337 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22338 > > │ 00:00:01 verbose #139 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22339 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22340 > > │ 00:00:01 verbose #140 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22341 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22342 > > │ 00:00:01 verbose #141 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22343 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22344 > > │ 00:00:01 verbose #142 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22345 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22346 > > │ 00:00:01 verbose #143 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22347 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22348 > > │ 00:00:01 verbose #144 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22349 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22350 > > │ 00:00:01 verbose #145 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22351 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22352 > > │ 00:00:01 verbose #146 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22353 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22354 > > │ 00:00:01 verbose #147 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22355 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22356 > > │ 00:00:01 verbose #148 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22357 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22358 > > │ 00:00:01 verbose #149 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22359 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22360 > > │ 00:00:01 verbose #150 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22361 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22362 > > │ 00:00:01 verbose #151 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22363 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22364 > > │ 00:00:01 verbose #152 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22365 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22366 > > │ 00:00:01 verbose #153 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22367 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22368 > > │ 00:00:01 verbose #154 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22369 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22370 > > │ 00:00:01 verbose #155 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22371 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22372 > > │ 00:00:01 verbose #156 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22373 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22374 > > │ 00:00:01 verbose #157 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22375 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22376 > > │ 00:00:01 verbose #158 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22377 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22378 > > │ 00:00:01 verbose #159 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22379 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22380 > > │ 00:00:01 verbose #160 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22381 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22382 > > │ 00:00:01 verbose #161 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22383 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22384 > > │ 00:00:01 verbose #162 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22385 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22386 > > │ 00:00:01 verbose #163 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22387 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22388 > > │ 00:00:01 verbose #164 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22389 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22390 > > │ 00:00:01 verbose #165 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22391 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22392 > > │ 00:00:01 verbose #166 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22393 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22394 > > │ 00:00:01 verbose #167 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22395 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22396 > > │ 00:00:01 verbose #168 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22397 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22398 > > │ 00:00:01 verbose #169 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22399 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22400 > > │ 00:00:01 verbose #170 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22401 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22402 > > │ 00:00:01 verbose #171 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22403 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22404 > > │ 00:00:02 verbose #172 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22405 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22406 > > │ 00:00:02 verbose #173 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22407 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22408 > > │ 00:00:02 verbose #174 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22409 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22410 > > │ 00:00:02 verbose #175 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22411 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22412 > > │ 00:00:02 verbose #176 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22413 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22414 > > │ 00:00:02 verbose #177 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22415 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22416 > > │ 00:00:02 verbose #178 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22417 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22418 > > │ 00:00:02 verbose #179 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22419 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22420 > > │ 00:00:02 verbose #180 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22421 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22422 > > │ 00:00:02 verbose #181 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22423 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22424 > > │ 00:00:02 verbose #182 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22425 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22426 > > │ 00:00:02 verbose #183 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22427 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22428 > > │ 00:00:02 verbose #184 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22429 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22430 > > │ 00:00:02 verbose #185 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22431 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22432 > > │ 00:00:02 verbose #186 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22433 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22434 > > │ 00:00:02 verbose #187 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22435 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22436 > > │ 00:00:02 verbose #188 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22437 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22438 > > │ 00:00:02 verbose #189 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22439 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22440 > > │ 00:00:02 verbose #190 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22441 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22442 > > │ 00:00:02 verbose #191 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22443 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22444 > > │ 00:00:02 verbose #192 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22445 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22446 > > │ 00:00:02 verbose #193 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22447 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22448 > > │ 00:00:02 verbose #194 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22449 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22450 > > │ 00:00:02 verbose #195 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22451 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22452 > > │ 00:00:02 verbose #196 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22453 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22454 > > │ 00:00:02 verbose #197 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22455 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22456 > > │ 00:00:02 verbose #198 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22457 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22458 > > │ 00:00:02 verbose #199 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22459 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22460 > > │ 00:00:02 verbose #200 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22461 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22462 > > │ 00:00:02 verbose #201 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22463 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22464 > > │ 00:00:02 verbose #202 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22465 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22466 > > │ 00:00:02 verbose #203 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22467 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22468 > > │ 00:00:02 verbose #204 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22469 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22470 > > │ 00:00:02 verbose #205 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22471 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22472 > > │ 00:00:02 verbose #206 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22473 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22474 > > │ 00:00:02 verbose #207 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22475 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22476 > > │ 00:00:02 verbose #208 networking.wait_for_port_access / port: 5555 / retry: │
00:11:27 verbose #22477 > > │ 200 / timeout: None / status: True │
00:11:27 verbose #22478 > > │ 00:00:02 verbose #209 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22479 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22480 > > │ 00:00:02 verbose #210 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22481 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22482 > > │ 00:00:02 verbose #211 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22483 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22484 > > │ 00:00:02 verbose #212 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22485 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22486 > > │ 00:00:02 verbose #213 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22487 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22488 > > │ 00:00:02 verbose #214 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22489 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22490 > > │ 00:00:02 verbose #215 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22491 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22492 > > │ 00:00:02 verbose #216 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22493 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22494 > > │ 00:00:02 verbose #217 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22495 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22496 > > │ 00:00:02 verbose #218 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22497 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22498 > > │ 00:00:02 verbose #219 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22499 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22500 > > │ 00:00:02 verbose #220 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22501 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22502 > > │ 00:00:02 verbose #221 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22503 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22504 > > │ 00:00:02 verbose #222 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22505 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22506 > > │ 00:00:02 verbose #223 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22507 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22508 > > │ 00:00:02 verbose #224 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22509 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22510 > > │ 00:00:02 verbose #225 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22511 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22512 > > │ 00:00:02 verbose #226 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22513 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22514 > > │ 00:00:02 verbose #227 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22515 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22516 > > │ 00:00:02 verbose #228 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22517 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22518 > > │ 00:00:02 verbose #229 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22519 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22520 > > │ 00:00:02 verbose #230 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22521 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22522 > > │ 00:00:02 verbose #231 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22523 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22524 > > │ 00:00:02 verbose #232 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22525 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22526 > > │ 00:00:02 verbose #233 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22527 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22528 > > │ 00:00:02 verbose #234 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22529 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22530 > > │ 00:00:02 verbose #235 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22531 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22532 > > │ 00:00:02 verbose #236 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22533 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22534 > > │ 00:00:02 verbose #237 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22535 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22536 > > │ 00:00:02 verbose #238 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22537 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22538 > > │ 00:00:02 verbose #239 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22539 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22540 > > │ 00:00:02 verbose #240 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22541 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22542 > > │ 00:00:02 verbose #241 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22543 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22544 > > │ 00:00:02 verbose #242 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22545 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22546 > > │ 00:00:02 verbose #243 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22547 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22548 > > │ 00:00:02 verbose #244 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22549 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22550 > > │ 00:00:02 verbose #245 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22551 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22552 > > │ 00:00:02 verbose #246 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22553 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22554 > > │ 00:00:02 verbose #247 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22555 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22556 > > │ 00:00:02 verbose #248 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22557 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22558 > > │ 00:00:02 verbose #249 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22559 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22560 > > │ 00:00:02 verbose #250 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22561 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22562 > > │ 00:00:02 verbose #251 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22563 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22564 > > │ 00:00:02 verbose #252 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22565 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22566 > > │ 00:00:02 verbose #253 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22567 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22568 > > │ 00:00:02 verbose #254 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22569 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22570 > > │ 00:00:02 verbose #255 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22571 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22572 > > │ 00:00:02 verbose #256 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22573 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22574 > > │ 00:00:03 verbose #257 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22575 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22576 > > │ 00:00:03 verbose #258 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22577 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22578 > > │ 00:00:03 verbose #259 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22579 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22580 > > │ 00:00:03 verbose #260 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22581 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22582 > > │ 00:00:03 verbose #261 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22583 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22584 > > │ 00:00:03 verbose #262 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22585 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22586 > > │ 00:00:03 verbose #263 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22587 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22588 > > │ 00:00:03 verbose #264 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22589 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22590 > > │ 00:00:03 verbose #265 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22591 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22592 > > │ 00:00:03 verbose #266 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22593 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22594 > > │ 00:00:03 verbose #267 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22595 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22596 > > │ 00:00:03 verbose #268 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22597 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22598 > > │ 00:00:03 verbose #269 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22599 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22600 > > │ 00:00:03 verbose #270 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22601 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22602 > > │ 00:00:03 verbose #271 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22603 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22604 > > │ 00:00:03 verbose #272 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22605 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22606 > > │ 00:00:03 verbose #273 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22607 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22608 > > │ 00:00:03 verbose #274 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22609 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22610 > > │ 00:00:03 verbose #275 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22611 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22612 > > │ 00:00:03 verbose #276 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22613 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22614 > > │ 00:00:03 verbose #277 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22615 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22616 > > │ 00:00:03 verbose #278 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22617 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22618 > > │ 00:00:03 verbose #279 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22619 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22620 > > │ 00:00:03 verbose #280 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22621 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22622 > > │ 00:00:03 verbose #281 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22623 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22624 > > │ 00:00:03 verbose #282 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22625 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22626 > > │ 00:00:03 verbose #283 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22627 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22628 > > │ 00:00:03 verbose #284 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22629 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22630 > > │ 00:00:03 verbose #285 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22631 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22632 > > │ 00:00:03 verbose #286 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22633 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22634 > > │ 00:00:03 verbose #287 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22635 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22636 > > │ 00:00:03 verbose #288 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22637 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22638 > > │ 00:00:03 verbose #289 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22639 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22640 > > │ 00:00:03 verbose #290 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22641 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22642 > > │ 00:00:03 verbose #291 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22643 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22644 > > │ 00:00:03 verbose #292 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22645 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22646 > > │ 00:00:03 verbose #293 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22647 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22648 > > │ 00:00:03 verbose #294 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22649 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22650 > > │ 00:00:03 verbose #295 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22651 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22652 > > │ 00:00:03 verbose #296 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22653 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22654 > > │ 00:00:03 verbose #297 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22655 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22656 > > │ 00:00:03 verbose #298 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22657 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22658 > > │ 00:00:03 verbose #299 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22659 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22660 > > │ 00:00:03 verbose #300 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22661 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22662 > > │ 00:00:03 verbose #301 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22663 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22664 > > │ 00:00:03 verbose #302 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22665 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22666 > > │ 00:00:03 verbose #303 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22667 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22668 > > │ 00:00:03 verbose #304 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22669 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22670 > > │ 00:00:03 verbose #305 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22671 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22672 > > │ 00:00:03 verbose #306 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22673 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22674 > > │ 00:00:03 verbose #307 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22675 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22676 > > │ 00:00:03 verbose #308 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22677 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22678 > > │ 00:00:03 verbose #309 networking.wait_for_port_access / port: 5555 / retry: │
00:11:27 verbose #22679 > > │ 300 / timeout: None / status: True │
00:11:27 verbose #22680 > > │ 00:00:03 verbose #310 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22681 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22682 > > │ 00:00:03 verbose #311 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22683 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22684 > > │ 00:00:03 verbose #312 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22685 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22686 > > │ 00:00:03 verbose #313 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22687 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22688 > > │ 00:00:03 verbose #314 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22689 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22690 > > │ 00:00:03 verbose #315 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22691 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22692 > > │ 00:00:03 verbose #316 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22693 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22694 > > │ 00:00:03 verbose #317 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22695 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22696 > > │ 00:00:03 verbose #318 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22697 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22698 > > │ 00:00:03 verbose #319 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22699 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22700 > > │ 00:00:03 verbose #320 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22701 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22702 > > │ 00:00:03 verbose #321 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22703 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22704 > > │ 00:00:03 verbose #322 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22705 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22706 > > │ 00:00:03 verbose #323 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22707 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22708 > > │ 00:00:03 verbose #324 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22709 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22710 > > │ 00:00:03 verbose #325 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22711 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22712 > > │ 00:00:03 verbose #326 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22713 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22714 > > │ 00:00:03 verbose #327 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22715 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22716 > > │ 00:00:03 verbose #328 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22717 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22718 > > │ 00:00:03 verbose #329 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22719 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22720 > > │ 00:00:03 verbose #330 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22721 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22722 > > │ 00:00:03 verbose #331 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22723 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22724 > > │ 00:00:03 verbose #332 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22725 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22726 > > │ 00:00:03 verbose #333 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22727 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22728 > > │ 00:00:03 verbose #334 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22729 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22730 > > │ 00:00:03 verbose #335 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22731 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22732 > > │ 00:00:03 verbose #336 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22733 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22734 > > │ 00:00:03 verbose #337 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22735 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22736 > > │ 00:00:03 verbose #338 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22737 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22738 > > │ 00:00:03 verbose #339 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22739 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22740 > > │ 00:00:03 verbose #340 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22741 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22742 > > │ 00:00:04 verbose #341 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22743 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22744 > > │ 00:00:04 verbose #342 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22745 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22746 > > │ 00:00:04 verbose #343 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22747 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22748 > > │ 00:00:04 verbose #344 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22749 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22750 > > │ 00:00:04 verbose #345 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22751 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22752 > > │ 00:00:04 verbose #346 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22753 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22754 > > │ 00:00:04 verbose #347 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22755 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22756 > > │ 00:00:04 verbose #348 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22757 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22758 > > │ 00:00:04 verbose #349 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22759 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22760 > > │ 00:00:04 verbose #350 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22761 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22762 > > │ 00:00:04 verbose #351 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22763 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22764 > > │ 00:00:04 verbose #352 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22765 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22766 > > │ 00:00:04 verbose #353 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22767 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22768 > > │ 00:00:04 verbose #354 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22769 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22770 > > │ 00:00:04 verbose #355 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22771 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22772 > > │ 00:00:04 verbose #356 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22773 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22774 > > │ 00:00:04 verbose #357 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22775 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22776 > > │ 00:00:04 verbose #358 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22777 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22778 > > │ 00:00:04 verbose #359 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22779 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22780 > > │ 00:00:04 verbose #360 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22781 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22782 > > │ 00:00:04 verbose #361 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22783 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22784 > > │ 00:00:04 verbose #362 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22785 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22786 > > │ 00:00:04 verbose #363 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22787 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22788 > > │ 00:00:04 verbose #364 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22789 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22790 > > │ 00:00:04 verbose #365 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22791 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22792 > > │ 00:00:04 verbose #366 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22793 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22794 > > │ 00:00:04 verbose #367 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22795 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22796 > > │ 00:00:04 verbose #368 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22797 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22798 > > │ 00:00:04 verbose #369 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22799 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22800 > > │ 00:00:04 verbose #370 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22801 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22802 > > │ 00:00:04 verbose #371 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22803 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22804 > > │ 00:00:04 verbose #372 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22805 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22806 > > │ 00:00:04 verbose #373 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22807 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22808 > > │ 00:00:04 verbose #374 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22809 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22810 > > │ 00:00:04 verbose #375 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22811 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22812 > > │ 00:00:04 verbose #376 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22813 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22814 > > │ 00:00:04 verbose #377 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22815 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22816 > > │ 00:00:04 verbose #378 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22817 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22818 > > │ 00:00:04 verbose #379 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22819 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22820 > > │ 00:00:04 verbose #380 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22821 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22822 > > │ 00:00:04 verbose #381 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22823 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22824 > > │ 00:00:04 verbose #382 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22825 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22826 > > │ 00:00:04 verbose #383 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22827 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22828 > > │ 00:00:04 verbose #384 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22829 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22830 > > │ 00:00:04 verbose #385 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22831 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22832 > > │ 00:00:04 verbose #386 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22833 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22834 > > │ 00:00:04 verbose #387 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22835 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22836 > > │ 00:00:04 verbose #388 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22837 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22838 > > │ 00:00:04 verbose #389 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22839 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22840 > > │ 00:00:04 verbose #390 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22841 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22842 > > │ 00:00:04 verbose #391 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22843 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22844 > > │ 00:00:04 verbose #392 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22845 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22846 > > │ 00:00:04 verbose #393 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22847 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22848 > > │ 00:00:04 verbose #394 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22849 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22850 > > │ 00:00:04 verbose #395 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22851 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22852 > > │ 00:00:04 verbose #396 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22853 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22854 > > │ 00:00:04 verbose #397 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22855 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22856 > > │ 00:00:04 verbose #398 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22857 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22858 > > │ 00:00:04 verbose #399 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22859 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22860 > > │ 00:00:04 verbose #400 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22861 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22862 > > │ 00:00:04 verbose #401 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22863 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22864 > > │ 00:00:04 verbose #402 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22865 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22866 > > │ 00:00:04 verbose #403 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22867 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22868 > > │ 00:00:04 verbose #404 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22869 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22870 > > │ 00:00:04 verbose #405 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22871 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22872 > > │ 00:00:04 verbose #406 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22873 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22874 > > │ 00:00:04 verbose #407 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22875 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22876 > > │ 00:00:04 verbose #408 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22877 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22878 > > │ 00:00:04 verbose #409 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22879 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22880 > > │ 00:00:04 verbose #410 networking.wait_for_port_access / port: 5555 / retry: │
00:11:27 verbose #22881 > > │ 400 / timeout: None / status: True │
00:11:27 verbose #22882 > > │ 00:00:04 verbose #411 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22883 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22884 > > │ 00:00:04 verbose #412 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22885 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22886 > > │ 00:00:04 verbose #413 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22887 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22888 > > │ 00:00:04 verbose #414 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22889 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22890 > > │ 00:00:04 verbose #415 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22891 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22892 > > │ 00:00:04 verbose #416 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22893 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22894 > > │ 00:00:04 verbose #417 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22895 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22896 > > │ 00:00:04 verbose #418 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22897 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22898 > > │ 00:00:04 verbose #419 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22899 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22900 > > │ 00:00:04 verbose #420 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22901 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22902 > > │ 00:00:04 verbose #421 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22903 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22904 > > │ 00:00:04 verbose #422 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22905 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22906 > > │ 00:00:04 verbose #423 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22907 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22908 > > │ 00:00:04 verbose #424 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22909 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22910 > > │ 00:00:05 verbose #425 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22911 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22912 > > │ 00:00:05 debug #426 _2 │
00:11:27 verbose #22913 > > │ 00:00:05 debug #427 _3 │
00:11:27 verbose #22914 > > │ 00:00:05 debug #428 4 │
00:11:27 verbose #22915 > > │ 00:00:05 verbose #429 networking.wait_for_port_access / port: 5555 / retry: │
00:11:27 verbose #22916 > > │ 0 / timeout: None / status: False │
00:11:27 verbose #22917 > > │ 00:00:06 verbose #430 networking.wait_for_port_access / port: 5555 / retry: │
00:11:27 verbose #22918 > > │ 100 / timeout: None / status: False │
00:11:27 verbose #22919 > > │ 00:00:07 debug #431 _4 │
00:11:27 verbose #22920 > > │ 00:00:07 debug #432 _5 │
00:11:27 verbose #22921 > > │ 00:00:07 verbose #433 networking.test_port_open / port: 5555 / ex: │
00:11:27 verbose #22922 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:27 verbose #22923 > > │ 00:00:07 debug #434 5 │
00:11:27 verbose #22924 > > │ 00:00:07 debug #435 6 │
00:11:27 verbose #22925 > > │ assert_between / actual: 416L / expected: struct (2L, 1500L) │
00:11:27 verbose #22926 > > │ assert_between / actual: 166L / expected: struct (80L, 600L) │
00:11:27 verbose #22927 > > │ assert_eq / actual: true / expected: true │
00:11:27 verbose #22928 > > │ │
00:11:27 verbose #22929 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:27 verbose #22930 > >
00:11:27 verbose #22931 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:27 verbose #22932 > > //// test
00:11:27 verbose #22933 > >
00:11:27 verbose #22934 > > inl lock_port host port = async.new_async_unit fun () =>
00:11:27 verbose #22935 > > trace Debug (fun () => "_1") _locals
00:11:27 verbose #22936 > > async.sleep 500 |> async.do
00:11:27 verbose #22937 > > inl listener = new_tcp_listener (ip_address_parse host) port |> use
00:11:27 verbose #22938 > > trace Debug (fun () => "_2") _locals
00:11:27 verbose #22939 > > listener |> listener_start
00:11:27 verbose #22940 > > trace Debug (fun () => "_3") _locals
00:11:27 verbose #22941 > > async.sleep 200 |> async.do
00:11:27 verbose #22942 > > trace Debug (fun () => "_4") _locals
00:11:27 verbose #22943 > > listener |> listener_stop
00:11:27 verbose #22944 > > trace Debug (fun () => "_5") _locals
00:11:27 verbose #22945 > >
00:11:27 verbose #22946 > > inl host = "127.0.0.1"
00:11:27 verbose #22947 > > inl port = 5555
00:11:27 verbose #22948 > >
00:11:27 verbose #22949 > > fun () =>
00:11:27 verbose #22950 > > trace Debug (fun () => "1") _locals
00:11:27 verbose #22951 > > inl child = lock_port host port |> async.start_child |> async.let'
00:11:27 verbose #22952 > > trace Debug (fun () => "2") _locals
00:11:27 verbose #22953 > > async.sleep 1 |> async.do
00:11:27 verbose #22954 > > trace Debug (fun () => "3") _locals
00:11:27 verbose #22955 > > inl retries1 = wait_for_port_access (Some 60 |> optionm'.box) true host port
00:11:27 verbose #22956 > > |> async.let'
00:11:27 verbose #22957 > > trace Debug (fun () => "4") _locals
00:11:27 verbose #22958 > > inl retries2 = wait_for_port_access (Some 60 |> optionm'.box) false host
00:11:27 verbose #22959 > > port |> async.let'
00:11:27 verbose #22960 > > trace Debug (fun () => "5") _locals
00:11:27 verbose #22961 > > child |> async.do
00:11:27 verbose #22962 > > trace Debug (fun () => "6") _locals
00:11:27 verbose #22963 > > (retries1, retries2) |> return
00:11:27 verbose #22964 > > |> async.new_async_unit
00:11:27 verbose #22965 > > |> async.run_with_timeout 2000
00:11:27 verbose #22966 > > |> function
00:11:27 verbose #22967 > > | Some (retries1, retries2) =>
00:11:27 verbose #22968 > > retries1
00:11:27 verbose #22969 > > |> _assert_between
00:11:27 verbose #22970 > > if runtime.is_windows () then 4i64 else 2
00:11:27 verbose #22971 > > if runtime.is_windows () then 15 else 150
00:11:27 verbose #22972 > >
00:11:27 verbose #22973 > > retries2
00:11:27 verbose #22974 > > |> _assert_between
00:11:27 verbose #22975 > > if runtime.is_windows () then 5i64 else 0
00:11:27 verbose #22976 > > if runtime.is_windows () then 20 else 60
00:11:27 verbose #22977 > >
00:11:27 verbose #22978 > > true
00:11:27 verbose #22979 > > | _ => false
00:11:27 verbose #22980 > > |> _assert_eq true
00:11:27 verbose #22981 > 00:11:26 debug #1011 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/15dccd94b4ffcd8de99d513f5b74ecbf6495b15e3d411a8d4ea5108219e37118/main.spi
00:11:29 verbose #22982 > >
00:11:29 verbose #22983 > > ╭─[ 1.70s - stdout ]───────────────────────────────────────────────────────────╮
00:11:29 verbose #22984 > > │ 00:00:00 debug #1 1 │
00:11:29 verbose #22985 > > │ 00:00:00 debug #2 _1 │
00:11:29 verbose #22986 > > │ 00:00:00 debug #3 2 │
00:11:29 verbose #22987 > > │ 00:00:00 debug #4 3 │
00:11:29 verbose #22988 > > │ 00:00:00 verbose #5 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #22989 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #22990 > > │ 00:00:00 verbose #6 networking.wait_for_port_access / port: 5555 / retry: 0 │
00:11:29 verbose #22991 > > │ / timeout: Some 60 / status: True │
00:11:29 verbose #22992 > > │ 00:00:00 verbose #7 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #22993 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #22994 > > │ 00:00:00 verbose #8 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #22995 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #22996 > > │ 00:00:00 verbose #9 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #22997 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #22998 > > │ 00:00:00 verbose #10 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #22999 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23000 > > │ 00:00:00 verbose #11 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23001 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23002 > > │ 00:00:00 verbose #12 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23003 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23004 > > │ 00:00:00 verbose #13 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23005 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23006 > > │ 00:00:00 verbose #14 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23007 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23008 > > │ 00:00:00 verbose #15 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23009 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23010 > > │ 00:00:00 verbose #16 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23011 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23012 > > │ 00:00:00 verbose #17 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23013 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23014 > > │ 00:00:00 verbose #18 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23015 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23016 > > │ 00:00:00 verbose #19 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23017 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23018 > > │ 00:00:00 verbose #20 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23019 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23020 > > │ 00:00:00 verbose #21 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23021 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23022 > > │ 00:00:00 verbose #22 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23023 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23024 > > │ 00:00:00 verbose #23 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23025 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23026 > > │ 00:00:00 verbose #24 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23027 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23028 > > │ 00:00:00 verbose #25 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23029 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23030 > > │ 00:00:00 verbose #26 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23031 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23032 > > │ 00:00:00 verbose #27 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23033 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23034 > > │ 00:00:00 verbose #28 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23035 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23036 > > │ 00:00:00 verbose #29 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23037 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23038 > > │ 00:00:00 verbose #30 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23039 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23040 > > │ 00:00:00 verbose #31 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23041 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23042 > > │ 00:00:00 verbose #32 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23043 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23044 > > │ 00:00:00 verbose #33 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23045 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23046 > > │ 00:00:00 verbose #34 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23047 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23048 > > │ 00:00:00 verbose #35 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23049 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23050 > > │ 00:00:00 verbose #36 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23051 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23052 > > │ 00:00:00 verbose #37 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23053 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23054 > > │ 00:00:00 verbose #38 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23055 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23056 > > │ 00:00:00 verbose #39 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23057 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23058 > > │ 00:00:00 verbose #40 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23059 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23060 > > │ 00:00:00 verbose #41 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23061 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23062 > > │ 00:00:00 verbose #42 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23063 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23064 > > │ 00:00:00 verbose #43 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23065 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23066 > > │ 00:00:00 debug #44 _2 │
00:11:29 verbose #23067 > > │ 00:00:00 debug #45 _3 │
00:11:29 verbose #23068 > > │ 00:00:00 debug #46 4 │
00:11:29 verbose #23069 > > │ 00:00:00 verbose #47 networking.wait_for_port_access / port: 5555 / retry: 0 │
00:11:29 verbose #23070 > > │ / timeout: Some 60 / status: False │
00:11:29 verbose #23071 > > │ 00:00:00 debug #48 _4 │
00:11:29 verbose #23072 > > │ 00:00:00 debug #49 _5 │
00:11:29 verbose #23073 > > │ 00:00:00 verbose #50 networking.test_port_open / port: 5555 / ex: │
00:11:29 verbose #23074 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:29 verbose #23075 > > │ 00:00:00 debug #51 5 │
00:11:29 verbose #23076 > > │ 00:00:00 debug #52 6 │
00:11:29 verbose #23077 > > │ assert_between / actual: 38L / expected: struct (2L, 150L) │
00:11:29 verbose #23078 > > │ assert_between / actual: 16L / expected: struct (0L, 60L) │
00:11:29 verbose #23079 > > │ assert_eq / actual: true / expected: true │
00:11:29 verbose #23080 > > │ │
00:11:29 verbose #23081 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:29 verbose #23082 > >
00:11:29 verbose #23083 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:29 verbose #23084 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:29 verbose #23085 > > │ ## get_available_port │
00:11:29 verbose #23086 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:29 verbose #23087 > >
00:11:29 verbose #23088 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:29 verbose #23089 > > inl get_available_port timeout host initial_port : _ i32 =
00:11:29 verbose #23090 > > let rec loop port = async.new_async_unit fun () =>
00:11:29 verbose #23091 > > inl is_port_open =
00:11:29 verbose #23092 > > match timeout |> optionm'.unbox with
00:11:29 verbose #23093 > > | None => test_port_open host port
00:11:29 verbose #23094 > > | Some timeout => test_port_open_timeout timeout host port
00:11:29 verbose #23095 > > |> async.let'
00:11:29 verbose #23096 > > fix_condition
00:11:29 verbose #23097 > > fun () => is_port_open |> not
00:11:29 verbose #23098 > > fun () => port |> return
00:11:29 verbose #23099 > > fun () => loop (port + 1) |> async.return_await
00:11:29 verbose #23100 > > loop initial_port
00:11:29 verbose #23101 > 00:11:28 debug #1012 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/59387a4c9d110f108ed7aeee4e7b46faeb1cd7f04929b09897b4307ff6dfc749/main.spi
00:11:29 verbose #23102 > >
00:11:29 verbose #23103 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:29 verbose #23104 > > //// test
00:11:29 verbose #23105 > >
00:11:29 verbose #23106 > > inl lock_ports host port = async.new_async_unit fun () =>
00:11:29 verbose #23107 > > trace Debug (fun () => "_1") _locals
00:11:29 verbose #23108 > > inl listener1 = new_tcp_listener (ip_address_parse host) port |> use
00:11:29 verbose #23109 > > inl listener2 = new_tcp_listener (ip_address_parse host) (port + 1) |> use
00:11:29 verbose #23110 > > trace Debug (fun () => "_2") _locals
00:11:29 verbose #23111 > > listener1 |> listener_start
00:11:29 verbose #23112 > > listener2 |> listener_start
00:11:29 verbose #23113 > > trace Debug (fun () => "_3") _locals
00:11:29 verbose #23114 > > async.sleep 4000 |> async.do
00:11:29 verbose #23115 > > trace Debug (fun () => "_4") _locals
00:11:29 verbose #23116 > > listener1 |> listener_stop
00:11:29 verbose #23117 > > listener2 |> listener_stop
00:11:29 verbose #23118 > > trace Debug (fun () => "_5") _locals
00:11:29 verbose #23119 > >
00:11:29 verbose #23120 > > inl host = "127.0.0.1"
00:11:29 verbose #23121 > > inl port = 5555
00:11:29 verbose #23122 > >
00:11:29 verbose #23123 > > fun () =>
00:11:29 verbose #23124 > > trace Debug (fun () => "1") _locals
00:11:29 verbose #23125 > > inl child = lock_ports host port |> async.start_child |> async.let'
00:11:29 verbose #23126 > > trace Debug (fun () => "2") _locals
00:11:29 verbose #23127 > > async.sleep 240 |> async.do
00:11:29 verbose #23128 > > trace Debug (fun () => "3") _locals
00:11:29 verbose #23129 > > inl available_port = get_available_port (None |> optionm'.box) host port |>
00:11:29 verbose #23130 > > async.let'
00:11:29 verbose #23131 > > trace Debug (fun () => "4") _locals
00:11:29 verbose #23132 > > inl retries = wait_for_port_access (None |> optionm'.box) false host port |>
00:11:29 verbose #23133 > > async.let'
00:11:29 verbose #23134 > > trace Debug (fun () => "5") _locals
00:11:29 verbose #23135 > > child |> async.do
00:11:29 verbose #23136 > > trace Debug (fun () => "6") _locals
00:11:29 verbose #23137 > > (available_port, retries) |> return
00:11:29 verbose #23138 > > |> async.new_async_unit
00:11:29 verbose #23139 > > |> async.run_with_timeout 15000
00:11:29 verbose #23140 > > |> function
00:11:29 verbose #23141 > > | Some (available_port, retries) =>
00:11:29 verbose #23142 > > available_port |> _assert_eq (port + 2)
00:11:29 verbose #23143 > >
00:11:29 verbose #23144 > > retries
00:11:29 verbose #23145 > > |> _assert_between
00:11:29 verbose #23146 > > if runtime.is_windows () then 100i64 else 100
00:11:29 verbose #23147 > > if runtime.is_windows () then 150 else 1200
00:11:29 verbose #23148 > >
00:11:29 verbose #23149 > > true
00:11:29 verbose #23150 > > | _ => false
00:11:29 verbose #23151 > > |> _assert_eq true
00:11:29 verbose #23152 > 00:11:28 debug #1013 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/89f50853a27c37a9d5d05e0a540d71ac398165cd5dfe4c64cfe847cf259a3cfc/main.spi
00:11:34 verbose #23153 > >
00:11:34 verbose #23154 > > ╭─[ 4.91s - stdout ]───────────────────────────────────────────────────────────╮
00:11:34 verbose #23155 > > │ 00:00:00 debug #1 1 │
00:11:34 verbose #23156 > > │ 00:00:00 debug #2 _1 │
00:11:34 verbose #23157 > > │ 00:00:00 debug #3 2 │
00:11:34 verbose #23158 > > │ 00:00:00 debug #4 _2 │
00:11:34 verbose #23159 > > │ 00:00:00 debug #5 _3 │
00:11:34 verbose #23160 > > │ 00:00:00 debug #6 3 │
00:11:34 verbose #23161 > > │ 00:00:00 verbose #7 networking.test_port_open / port: 5557 / ex: │
00:11:34 verbose #23162 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:34 verbose #23163 > > │ 00:00:00 debug #8 4 │
00:11:34 verbose #23164 > > │ 00:00:00 verbose #9 networking.wait_for_port_access / port: 5555 / retry: 0 │
00:11:34 verbose #23165 > > │ / timeout: None / status: False │
00:11:34 verbose #23166 > > │ 00:00:01 verbose #10 networking.wait_for_port_access / port: 5555 / retry: │
00:11:34 verbose #23167 > > │ 100 / timeout: None / status: False │
00:11:34 verbose #23168 > > │ 00:00:02 verbose #11 networking.wait_for_port_access / port: 5555 / retry: │
00:11:34 verbose #23169 > > │ 200 / timeout: None / status: False │
00:11:34 verbose #23170 > > │ 00:00:03 verbose #12 networking.wait_for_port_access / port: 5555 / retry: │
00:11:34 verbose #23171 > > │ 300 / timeout: None / status: False │
00:11:34 verbose #23172 > > │ 00:00:04 debug #13 _4 │
00:11:34 verbose #23173 > > │ 00:00:04 debug #14 _5 │
00:11:34 verbose #23174 > > │ 00:00:04 verbose #15 networking.test_port_open / port: 5555 / ex: │
00:11:34 verbose #23175 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:34 verbose #23176 > > │ 00:00:04 debug #16 5 │
00:11:34 verbose #23177 > > │ 00:00:04 debug #17 6 │
00:11:34 verbose #23178 > > │ assert_eq / actual: 5557 / expected: 5557 │
00:11:34 verbose #23179 > > │ assert_between / actual: 313L / expected: struct (100L, 1200L) │
00:11:34 verbose #23180 > > │ assert_eq / actual: true / expected: true │
00:11:34 verbose #23181 > > │ │
00:11:34 verbose #23182 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:34 verbose #23183 > >
00:11:34 verbose #23184 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:34 verbose #23185 > > //// test
00:11:34 verbose #23186 > >
00:11:34 verbose #23187 > > inl lock_ports host port = async.new_async_unit fun () =>
00:11:34 verbose #23188 > > trace Debug (fun () => "_1") _locals
00:11:34 verbose #23189 > > inl listener1 = new_tcp_listener (ip_address_parse host) port |> use
00:11:34 verbose #23190 > > inl listener2 = new_tcp_listener (ip_address_parse host) (port + 1) |> use
00:11:34 verbose #23191 > > trace Debug (fun () => "_2") _locals
00:11:34 verbose #23192 > > listener1 |> listener_start
00:11:34 verbose #23193 > > listener2 |> listener_start
00:11:34 verbose #23194 > > trace Debug (fun () => "_3") _locals
00:11:34 verbose #23195 > > async.sleep 400 |> async.do
00:11:34 verbose #23196 > > trace Debug (fun () => "_4") _locals
00:11:34 verbose #23197 > > listener1 |> listener_stop
00:11:34 verbose #23198 > > listener2 |> listener_stop
00:11:34 verbose #23199 > > trace Debug (fun () => "_5") _locals
00:11:34 verbose #23200 > >
00:11:34 verbose #23201 > > inl host = "127.0.0.1"
00:11:34 verbose #23202 > > inl port = 5555
00:11:34 verbose #23203 > >
00:11:34 verbose #23204 > > fun () =>
00:11:34 verbose #23205 > > trace Debug (fun () => "1") _locals
00:11:34 verbose #23206 > > inl child = lock_ports host port |> async.start_child |> async.let'
00:11:34 verbose #23207 > > trace Debug (fun () => "2") _locals
00:11:34 verbose #23208 > > async.sleep 240 |> async.do
00:11:34 verbose #23209 > > trace Debug (fun () => "3") _locals
00:11:34 verbose #23210 > > inl available_port = get_available_port (Some 60 |> optionm'.box) host port
00:11:34 verbose #23211 > > |> async.let'
00:11:34 verbose #23212 > > trace Debug (fun () => "4") _locals
00:11:34 verbose #23213 > > inl retries = wait_for_port_access (Some 60 |> optionm'.box) false host port
00:11:34 verbose #23214 > > |> async.let'
00:11:34 verbose #23215 > > trace Debug (fun () => "5") _locals
00:11:34 verbose #23216 > > child |> async.do
00:11:34 verbose #23217 > > trace Debug (fun () => "6") _locals
00:11:34 verbose #23218 > > (available_port, retries) |> return
00:11:34 verbose #23219 > > |> async.new_async_unit
00:11:34 verbose #23220 > > |> async.run_with_timeout 1500
00:11:34 verbose #23221 > > |> function
00:11:34 verbose #23222 > > | Some (available_port, retries) =>
00:11:34 verbose #23223 > > available_port |> _assert_eq (port + 2)
00:11:34 verbose #23224 > >
00:11:34 verbose #23225 > > retries
00:11:34 verbose #23226 > > |> _assert_between
00:11:34 verbose #23227 > > (if runtime.is_windows () then 2i64 else 1)
00:11:34 verbose #23228 > > (if runtime.is_windows () then 10 else 120)
00:11:34 verbose #23229 > >
00:11:34 verbose #23230 > > true
00:11:34 verbose #23231 > > | _ => false
00:11:34 verbose #23232 > > |> _assert_eq true
00:11:34 verbose #23233 > 00:11:33 debug #1014 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/31f733f71b61befc0b78d3a89d957e083f77c210d34c3bf2d8ec518c92195e11/main.spi
00:11:35 verbose #23234 > >
00:11:35 verbose #23235 > > ╭─[ 1.06s - stdout ]───────────────────────────────────────────────────────────╮
00:11:35 verbose #23236 > > │ 00:00:00 debug #1 1 │
00:11:35 verbose #23237 > > │ 00:00:00 debug #2 2 │
00:11:35 verbose #23238 > > │ 00:00:00 debug #3 _1 │
00:11:35 verbose #23239 > > │ 00:00:00 debug #4 _2 │
00:11:35 verbose #23240 > > │ 00:00:00 debug #5 _3 │
00:11:35 verbose #23241 > > │ 00:00:00 debug #6 3 │
00:11:35 verbose #23242 > > │ 00:00:00 verbose #7 networking.test_port_open / port: 5557 / ex: │
00:11:35 verbose #23243 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:35 verbose #23244 > > │ 00:00:00 debug #8 4 │
00:11:35 verbose #23245 > > │ 00:00:00 verbose #9 networking.wait_for_port_access / port: 5555 / retry: 0 │
00:11:35 verbose #23246 > > │ / timeout: Some 60 / status: False │
00:11:35 verbose #23247 > > │ 00:00:00 debug #10 _4 │
00:11:35 verbose #23248 > > │ 00:00:00 debug #11 _5 │
00:11:35 verbose #23249 > > │ 00:00:00 verbose #12 networking.test_port_open / port: 5555 / ex: │
00:11:35 verbose #23250 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:11:35 verbose #23251 > > │ 00:00:00 debug #13 5 │
00:11:35 verbose #23252 > > │ 00:00:00 debug #14 6 │
00:11:35 verbose #23253 > > │ assert_eq / actual: 5557 / expected: 5557 │
00:11:35 verbose #23254 > > │ assert_between / actual: 12L / expected: struct (1L, 120L) │
00:11:35 verbose #23255 > > │ assert_eq / actual: true / expected: true │
00:11:35 verbose #23256 > > │ │
00:11:35 verbose #23257 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:35 verbose #23258 > >
00:11:35 verbose #23259 > > ── markdown ────────────────────────────────────────────────────────────────────
00:11:35 verbose #23260 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:11:35 verbose #23261 > > │ ## main │
00:11:35 verbose #23262 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:11:35 verbose #23263 > >
00:11:35 verbose #23264 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:11:35 verbose #23265 > > inl main () =
00:11:35 verbose #23266 > > types ()
00:11:35 verbose #23267 > > init_trace_state None
00:11:35 verbose #23268 > > $"let test_port_open x = !test_port_open x" : ()
00:11:35 verbose #23269 > > $"let test_port_open_timeout x = !test_port_open_timeout x" : ()
00:11:35 verbose #23270 > > $"let wait_for_port_access x = !wait_for_port_access x" : ()
00:11:35 verbose #23271 > > $"let get_available_port x = !get_available_port x" : ()
00:11:35 verbose #23272 > 00:11:34 debug #1015 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ac69d12347c190a8d2c2a1f8afda9fdaabaa84df07d734f0578ca8e30423283a/main.spi
00:11:35 verbose #23273 > 00:00:25 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 137216
00:11:35 verbose #23274 > 00:00:25 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:11:36 verbose #23275 > 00:00:26 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb to html
00:11:36 verbose #23276 > 00:00:26 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:11:36 verbose #23277 > 00:00:26 verbose #7 ! validate(nb)
00:11:37 verbose #23278 > 00:00:27 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:11:37 verbose #23279 > 00:00:27 verbose #9 ! return _pygments_highlight(
00:11:37 verbose #23280 > 00:00:27 verbose #10 ! [NbConvertApp] Writing 432834 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.html
00:11:37 verbose #23281 > 00:00:27 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 904
00:11:37 verbose #23282 > 00:00:27 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 904
00:11:37 verbose #23283 > 00:00:27 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:11:37 verbose #23284 > 00:00:27 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:11:37 verbose #23285 > 00:00:27 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:11:37 verbose #23286 > 00:00:27 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 138179
00:11:37 debug #23287 execute_with_options_async / exit_code: 0 / output.Length: 143826
00:11:37 debug #26 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path networking.dib --retries 3
00:11:37 verbose #28 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:11:38 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 writeDibCode / output: Spi / path: async.dib
00:00:00 debug #1 writeDibCode / output: Spi / path: runtime.dib
00:00:00 debug #1 writeDibCode / output: Spi / path: trace.dib
00:00:00 debug #1 writeDibCode / output: Spi / path: testing.dib
00:00:00 debug #4 parseDibCode / output: Spi / file: testing.dib
00:00:00 debug #4 parseDibCode / output: Spi / file: trace.dib
00:00:00 debug #4 parseDibCode / output: Spi / file: async.dib
00:00:00 debug #5 parseDibCode / output: Spi / file: runtime.dib
00:00:00 debug #9 writeDibCode / output: Spi / path: common.dib
00:00:00 debug #8 writeDibCode / output: Spi / path: crypto.dib
00:00:00 debug #7 writeDibCode / output: Spi / path: networking.dib
00:00:00 debug #10 parseDibCode / output: Spi / file: common.dib
00:00:00 debug #12 parseDibCode / output: Spi / file: networking.dib
00:00:00 debug #7 writeDibCode / output: Spi / path: threading.dib
00:00:00 debug #11 parseDibCode / output: Spi / file: crypto.dib
00:00:00 debug #13 parseDibCode / output: Spi / file: threading.dib
00:00:00 debug #14 writeDibCode / output: Spi / path: base.dib
00:00:00 debug #15 parseDibCode / output: Spi / file: base.dib
00:00:00 debug #16 writeDibCode / output: Spi / path: resultm.dib
00:00:00 debug #17 parseDibCode / output: Spi / file: resultm.dib
00:00:00 debug #18 writeDibCode / output: Spi / path: iter.dib
00:00:00 debug #19 parseDibCode / output: Spi / file: iter.dib
00:00:00 debug #20 writeDibCode / output: Spi / path: console.dib
00:00:00 debug #21 parseDibCode / output: Spi / file: console.dib
00:00:00 debug #22 writeDibCode / output: Spi / path: date_time.dib
00:00:00 debug #23 parseDibCode / output: Spi / file: date_time.dib
00:00:00 debug #24 writeDibCode / output: Spi / path: file_system.dib
00:00:00 debug #25 parseDibCode / output: Spi / file: file_system.dib
00:00:00 debug #26 writeDibCode / output: Spi / path: guid.dib
00:00:00 debug #27 parseDibCode / output: Spi / file: guid.dib
00:00:00 debug #28 writeDibCode / output: Spi / path: math.dib
00:00:00 debug #29 parseDibCode / output: Spi / file: math.dib
00:00:00 debug #30 writeDibCode / output: Spi / path: optionm'.dib
00:00:00 debug #31 parseDibCode / output: Spi / file: optionm'.dib
00:00:00 debug #32 writeDibCode / output: Spi / path: am'.dib
00:00:00 debug #33 parseDibCode / output: Spi / file: am'.dib
00:00:00 debug #34 writeDibCode / output: Spi / path: sm'.dib
00:00:00 debug #35 parseDibCode / output: Spi / file: sm'.dib
00:00:00 debug #36 writeDibCode / output: Spi / path: listm'.dib
00:00:00 debug #37 parseDibCode / output: Spi / file: listm'.dib
00:00:00 debug #38 writeDibCode / output: Spi / path: benchmark.dib
00:00:00 debug #39 parseDibCode / output: Spi / file: benchmark.dib
00:00:00 debug #40 writeDibCode / output: Spi / path: stream.dib
00:00:00 debug #41 parseDibCode / output: Spi / file: stream.dib
00:00:00 debug #42 writeDibCode / output: Spi / path: seq.dib
00:00:00 debug #43 parseDibCode / output: Spi / file: seq.dib
00:00:00 debug #44 writeDibCode / output: Spi / path: util.dib
00:00:00 debug #45 parseDibCode / output: Spi / file: util.dib
00:00:00 debug #46 writeDibCode / output: Spi / path: rust.dib
00:00:00 debug #47 parseDibCode / output: Spi / file: rust.dib
00:00:00 debug #48 writeDibCode / output: Spi / path: physics.dib
00:00:00 debug #49 parseDibCode / output: Spi / file: physics.dib
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #28 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #30 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #31 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:01 verbose #32 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #33 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #34 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 verbose #36 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #36 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #37 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 debug #5 buildFile / takeWhileInclusive / path: async.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 debug #5 buildFile / takeWhileInclusive / path: trace.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 debug #5 buildFile / takeWhileInclusive / path: runtime.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 debug #8 buildFile / takeWhileInclusive / path: async.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 debug #8 buildFile / takeWhileInclusive / path: runtime.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 debug #8 buildFile / takeWhileInclusive / path: trace.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:01 verbose #9 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # trace\n\n/// ## types\ninl types () =\n rust.types ()\n sm\u0027...x = !trace x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/trace.spi"}} / result:
00:00:01 verbose #11 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # async\nopen rust_operators\n\n/// ## types\ninl types () =\n global...ault_async x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/async.spi"}} / result:
00:00:01 verbose #10 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # runtime\nopen rust_operators\nopen sm\u0027_operators\n\n/// ## types\...lit_args x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/runtime.spi"}} / result:
00:00:01 verbose #12 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/async.spi"}} / result:
00:00:01 verbose #14 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/trace.spi"}} / result:
00:00:01 verbose #13 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/runtime.spi"}} / result:
00:00:01 verbose #7 > 00:00:01 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/async.spi
00:00:02 verbose #8 > 00:00:01 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/runtime.spi
00:00:02 verbose #9 > 00:00:01 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/trace.spi
00:00:02 debug #16 buildFile / takeWhileInclusive / path: trace.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:02 debug #16 buildFile / takeWhileInclusive / path: runtime.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:02 debug #17 buildFile / takeWhileInclusive / path: async.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #18 buildFile / takeWhileInclusive / path: trace.spi / fsxContent: #if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]
#endif
type core_any_Any = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("_")>]
#endif
type core_ops_Try<'...osure0()
let v1 : US0 = US0_0
if State.trace_state.IsNone then State.trace_state <- v0 v1 |> Some
let v2 : (US0 -> ((unit -> string) -> ((unit -> string) -> unit))) = closure2()
let trace x = v2 x
()
/ errors: [] / typeErrorCount: 0
00:00:03 debug #19 buildFile / takeWhileInclusive / path: async.spi / fsxContent: #if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("async_std::task::JoinHandle<$0>")>]
#endif
type async_std_task_JoinHandle<'T> = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit...cellationToken> = _v1.Value
v23
let v0 : (System.Threading.CancellationToken -> Async<System.Threading.CancellationToken>) = closure0()
let merge_cancellation_token_with_default_async x = v0 x
()
/ errors: [] / typeErrorCount: 0
00:00:03 debug #20 buildFile / takeWhileInclusive / path: runtime.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #22 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 debug #23 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 debug #22 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 verbose #38 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 verbose #39 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 verbose #40 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 debug #24 buildFile / takeWhileInclusive / path: threading.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #25 buildFile / takeWhileInclusive / path: threading.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #26 buildFile / takeWhileInclusive / path: networking.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #27 buildFile / takeWhileInclusive / path: networking.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #28 buildFile / takeWhileInclusive / path: crypto.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #29 buildFile / takeWhileInclusive / path: crypto.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 verbose #30 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # threading\nopen rust_operators\n\n/// ## types\ninl types () =\n gl..._token x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/threading.spi"}} / result:
00:00:03 verbose #31 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # networking\nopen rust_operators\n\n/// ## types\ninl types () =\n g..._port x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/networking.spi"}} / result:
00:00:03 verbose #10 > 00:00:02 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/threading.spi
00:00:03 verbose #32 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # crypto\nopen rust_operators\n\n/// ## types\ninl types () =\n globa...hash_text x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/crypto.spi"}} / result:
00:00:03 verbose #33 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/threading.spi"}} / result:
00:00:03 verbose #11 > 00:00:02 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/networking.spi
00:00:03 verbose #34 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/networking.spi"}} / result:
00:00:03 verbose #35 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/crypto.spi"}} / result:
00:00:03 verbose #12 > 00:00:02 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/crypto.spi
00:00:03 debug #36 buildFile / takeWhileInclusive / path: threading.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #37 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 verbose #41 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 debug #38 buildFile / takeWhileInclusive / path: common.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #39 buildFile / takeWhileInclusive / path: common.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 verbose #40 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # common\n\n/// ## types\ninl types () =\n env.types ()\n rust.typ... !memoize x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/common.spi"}} / result:
00:00:03 verbose #41 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/common.spi"}} / result:
00:00:03 verbose #13 > 00:00:03 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/common.spi
00:00:03 debug #42 buildFile / takeWhileInclusive / path: networking.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #43 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 debug #44 buildFile / takeWhileInclusive / path: crypto.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #45 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 verbose #42 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 debug #46 buildFile / takeWhileInclusive / path: date_time.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #47 buildFile / takeWhileInclusive / path: date_time.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 verbose #43 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 debug #48 buildFile / takeWhileInclusive / path: file_system.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 verbose #49 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # date_time\nopen rust_operators\nopen sm\u0027_operators\n\n/// ## type...so8601 x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/date_time.spi"}} / result:
00:00:03 debug #50 buildFile / takeWhileInclusive / path: file_system.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 verbose #51 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/date_time.spi"}} / result:
00:00:03 verbose #14 > 00:00:03 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/date_time.spi
00:00:03 verbose #52 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # file_system\nopen sm\u0027_operators\nopen rust_operators\n\n/// ## ty...bine x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/file_system.spi"}} / result:
00:00:03 debug #53 buildFile / takeWhileInclusive / path: common.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #54 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 verbose #44 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 verbose #55 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/file_system.spi"}} / result:
00:00:03 verbose #15 > 00:00:03 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/file_system.spi
00:00:03 debug #56 buildFile / takeWhileInclusive / path: guid.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #57 buildFile / takeWhileInclusive / path: guid.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 verbose #58 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # guid\n\n/// ## guid\nnominal guid = $\u0022System.Guid\u0022\n\n/// ##...ew_raw_guid x\u0022 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/guid.spi"}} / result:
00:00:03 verbose #59 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/guid.spi"}} / result:
00:00:03 verbose #16 > 00:00:03 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/guid.spi
00:00:03 debug #60 buildFile / takeWhileInclusive / path: guid.spi / fsxContent: let rec closure0 () (v0 : string) : System.Guid =
let v1 : System.Guid = System.Guid v0
v1
and closure1 () () : System.Guid =
let v0 : System.Guid = System.Guid.NewGuid ()
v0
let v0 : (string -> System.Guid) = closure0()
let new_guid x = v0 x
let v1 : (unit -> System.Guid) = closure1()
let new_raw_guid x = v1 x
()
/ errors: [] / typeErrorCount: 0
00:00:03 debug #61 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 debug #62 buildFile / takeWhileInclusive / path: date_time.spi / fsxContent: #if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]
#endif
type core_any_Any = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("_")>]
#endif
type core_ops_Try<'...t new_guid_from_timestamp x = v5 x
let v6 : (string -> (System.DateTime -> string)) = closure11()
let format x = v6 x
let v7 : (System.DateTime -> string) = closure13()
let format_iso8601 x = v7 x
()
/ errors: [] / typeErrorCount: 0
00:00:03 debug #63 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:03 verbose #45 networking.test_port_open / port: 13806 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:03 debug #64 buildFile / takeWhileInclusive / path: sm'.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 debug #65 buildFile / takeWhileInclusive / path: sm'.spi / fsxContent: / errors: [] / typeErrorCount: 0
00:00:03 verbose #66 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # sm\u0027\nopen rust_operators\n\n/// ## types\ninl types () =\n glo...ng = from_std_string\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/sm\u0027.spi"}} / result:
00:00:03 verbose #17 > 00:00:03 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/sm'.spi
00:00:04 verbose #67 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/sm\u0027.spi"}} / result:
00:00:04 debug #68 buildFile / takeWhileInclusive / path: sm'.spi / fsxContent: #if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("core::any::Any")>]
#endif
type core_any_Any = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("_")>]
#endif
type core_ops_Try<'...() (v0 : string) : ((string []) -> string) =
closure41(v0)
and method7 (v0 : string) : string =
v0
and closure43 (v0 : string) (v1 : string seq) : string =
let v2 : string = method7(v0)
/ errors: [] / typeErrorCount: 0
00:00:04 debug #69 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:04 debug #70 buildFile / takeWhileInclusive / path: file_system.spi / fsxContent: #if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::fs::File")>]
#endif
type std_fs_File = class end
#if FABLE_COMPILER
[<Fable.Core.Erase; Fable.Core.Emit("std::fs::FileType")>]
#endif
type ...ng) = closure57()
let get_workspace_root () = v18 ()
let v19 : (bool -> unit) = closure58()
let init_trace_file x = v19 x
let v20 : (string -> (string -> string)) = closure60()
let (</>) x = v20 x
()
/ errors: [] / typeErrorCount: 0
00:00:04 debug #71 watchWithFilter / Disposing watch stream / filter: FileName, LastWrite
00:00:04 verbose #46 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:00:04 verbose #47 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
In [ ]:
{ pwsh ../apps/scheduler/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #28 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:01 verbose #30 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #31 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #32 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #33 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #34 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../workspace/target/release/spiral_builder dib --path Tasks.dib --retries 3",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "Tasks.dib", "--retries", "3"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:03 verbose #10 > >
00:00:03 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 verbose #13 > > │ ## Tasks (Polyglot) │
00:00:03 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:03 verbose #15 > >
00:00:03 verbose #16 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:03 verbose #17 > > //// test
00:00:03 verbose #18 > >
00:00:03 verbose #19 > > open testing
00:00:03 verbose #20 > >
00:00:03 verbose #21 > > ── spiral - import ─────────────────────────────────────────────────────────────
00:00:03 verbose #22 > > #r
00:00:03 verbose #23 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:03 verbose #24 > > Net.Interactive.Spiral.dll"
00:00:03 verbose #25 > > open Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers
00:00:03 verbose #26 > > #r
00:00:03 verbose #27 > > "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.Dot
00:00:03 verbose #28 > > Net.Interactive.dll"
00:00:03 verbose #29 > > open type Microsoft.DotNet.Interactive.Kernel
00:00:05 verbose #30 > >
00:00:05 verbose #31 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:05 verbose #32 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:05 verbose #33 > > │ ## types │
00:00:05 verbose #34 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:05 verbose #35 > >
00:00:05 verbose #36 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:05 verbose #37 > > inl types () =
00:00:05 verbose #38 > > rust.types ()
00:00:05 verbose #39 > > sm'.types ()
00:00:06 verbose #40 > 00:00:06 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/5511d5468be9fed5ed097108bef0268c55058733dc91249e3f198c656498a651/main.spi
00:00:08 verbose #41 > >
00:00:08 verbose #42 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #43 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #44 > > │ ## task_name │
00:00:08 verbose #45 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #46 > >
00:00:08 verbose #47 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #48 > > nominal task_name = string
00:00:08 verbose #49 > 00:00:08 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/98e9ddb8c04b8769bfd195eec77ff33aacef8adf9c73211d974c5c7aa99d52cf/main.spi
00:00:08 verbose #50 > >
00:00:08 verbose #51 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #52 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #53 > > │ ## manual_scheduling │
00:00:08 verbose #54 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #55 > >
00:00:08 verbose #56 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #57 > > union manual_scheduling =
00:00:08 verbose #58 > > | WithSuggestion
00:00:08 verbose #59 > > | WithoutSuggestion
00:00:08 verbose #60 > 00:00:08 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/0f846052ff17a2bd43de78cda02e7c335f7c391e1b3cb629110c2faba5405339/main.spi
00:00:08 verbose #61 > >
00:00:08 verbose #62 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #63 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #64 > > │ ## recurrency_offset │
00:00:08 verbose #65 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #66 > >
00:00:08 verbose #67 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #68 > > union recurrency_offset =
00:00:08 verbose #69 > > | Days : i32
00:00:08 verbose #70 > > | Weeks : i32
00:00:08 verbose #71 > > | Months : i32
00:00:08 verbose #72 > 00:00:08 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/84b83718e46950e944143dd7f98939df744db89ea2e7c5fec551e21de33ed9b1/main.spi
00:00:08 verbose #73 > >
00:00:08 verbose #74 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:08 verbose #75 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:08 verbose #76 > > │ ## day_of_week │
00:00:08 verbose #77 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:08 verbose #78 > >
00:00:08 verbose #79 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:08 verbose #80 > > union day_of_week =
00:00:08 verbose #81 > > | Sunday
00:00:08 verbose #82 > > | Monday
00:00:08 verbose #83 > > | Tuesday
00:00:08 verbose #84 > > | Wednesday
00:00:08 verbose #85 > > | Thursday
00:00:08 verbose #86 > > | Friday
00:00:08 verbose #87 > > | Saturday
00:00:09 verbose #88 > 00:00:08 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/89164b695151934735c8e97f8491a871b4d4845cad3fceaa785531c67c37c879/main.spi
00:00:09 verbose #89 > >
00:00:09 verbose #90 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #91 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #92 > > │ ## month │
00:00:09 verbose #93 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #94 > >
00:00:09 verbose #95 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #96 > > union month =
00:00:09 verbose #97 > > | January
00:00:09 verbose #98 > > | February
00:00:09 verbose #99 > > | March
00:00:09 verbose #100 > > | April
00:00:09 verbose #101 > > | May
00:00:09 verbose #102 > > | June
00:00:09 verbose #103 > > | July
00:00:09 verbose #104 > > | August
00:00:09 verbose #105 > > | September
00:00:09 verbose #106 > > | October
00:00:09 verbose #107 > > | November
00:00:09 verbose #108 > > | December
00:00:09 verbose #109 > 00:00:08 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/97f850c436c9fd155abf96f4562aef67e0eee9f180b0f762899eb1ea86ae8e6c/main.spi
00:00:09 verbose #110 > >
00:00:09 verbose #111 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #112 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #113 > > │ ## day │
00:00:09 verbose #114 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #115 > >
00:00:09 verbose #116 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #117 > > nominal day = i32
00:00:09 verbose #118 > 00:00:08 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/1bd5ca0905b615379ac214070c519993d5ff997c6ac65e547f40339b80966ef6/main.spi
00:00:09 verbose #119 > >
00:00:09 verbose #120 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #121 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #122 > > │ ## year │
00:00:09 verbose #123 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #124 > >
00:00:09 verbose #125 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #126 > > nominal year = i32
00:00:09 verbose #127 > 00:00:08 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6d79755f3678a8d3bc962269daa5fcf6fca6e7c56dbbb769f39fa85995a2d2f8/main.spi
00:00:09 verbose #128 > >
00:00:09 verbose #129 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #130 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #131 > > │ ## fixed_recurrency │
00:00:09 verbose #132 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #133 > >
00:00:09 verbose #134 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #135 > > union fixed_recurrency =
00:00:09 verbose #136 > > | Weekly : day_of_week
00:00:09 verbose #137 > > | Monthly : day
00:00:09 verbose #138 > > | Yearly : day * month
00:00:09 verbose #139 > 00:00:09 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2205a223e1d7a21e2e56d8126da4b76425b9160568783c7b7c965b76110cac9c/main.spi
00:00:09 verbose #140 > >
00:00:09 verbose #141 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #142 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #143 > > │ ## recurrency │
00:00:09 verbose #144 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #145 > >
00:00:09 verbose #146 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #147 > > union recurrency =
00:00:09 verbose #148 > > | Offset : recurrency_offset
00:00:09 verbose #149 > > | Fixed : list fixed_recurrency
00:00:09 verbose #150 > 00:00:09 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/353566bc449c392889277d2b2f62300a0610dd4b60ea4923c4400c1312b9c596/main.spi
00:00:09 verbose #151 > >
00:00:09 verbose #152 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:09 verbose #153 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:09 verbose #154 > > │ ## scheduling │
00:00:09 verbose #155 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:09 verbose #156 > >
00:00:09 verbose #157 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:09 verbose #158 > > union scheduling =
00:00:09 verbose #159 > > | Manual : manual_scheduling
00:00:09 verbose #160 > > | Recurrent : recurrency
00:00:09 verbose #161 > 00:00:09 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/9cfaf578e1cf8e17fe3e029195569653591f762be367a8eafd7fe8eb30442dbc/main.spi
00:00:10 verbose #162 > >
00:00:10 verbose #163 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #164 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #165 > > │ ## task │
00:00:10 verbose #166 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #167 > >
00:00:10 verbose #168 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #169 > > type task =
00:00:10 verbose #170 > > {
00:00:10 verbose #171 > > name : task_name
00:00:10 verbose #172 > > scheduling : scheduling
00:00:10 verbose #173 > > }
00:00:10 verbose #174 > 00:00:09 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/621e6e08d694eb6d7bfdddfbe50facd2f1d433babae0b6496bab8d99df3edb8c/main.spi
00:00:10 verbose #175 > >
00:00:10 verbose #176 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #177 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #178 > > │ ## date │
00:00:10 verbose #179 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #180 > >
00:00:10 verbose #181 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #182 > > type date =
00:00:10 verbose #183 > > {
00:00:10 verbose #184 > > year : year
00:00:10 verbose #185 > > month : month
00:00:10 verbose #186 > > day : day
00:00:10 verbose #187 > > }
00:00:10 verbose #188 > 00:00:09 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/797553aafa3a62a67183e0642d2ea45f9123617cf4cb08f00ebcc560b5bec52f/main.spi
00:00:10 verbose #189 > >
00:00:10 verbose #190 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #191 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #192 > > │ ## status │
00:00:10 verbose #193 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #194 > >
00:00:10 verbose #195 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #196 > > union status =
00:00:10 verbose #197 > > | Postponed : option ()
00:00:10 verbose #198 > 00:00:09 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/ece83a259b756fd5c41b4aeae333bad2411ce5df6bc315fa1cf3960b0dc80f15/main.spi
00:00:10 verbose #199 > >
00:00:10 verbose #200 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #201 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #202 > > │ ## event │
00:00:10 verbose #203 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #204 > >
00:00:10 verbose #205 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #206 > > type event =
00:00:10 verbose #207 > > {
00:00:10 verbose #208 > > date : date
00:00:10 verbose #209 > > status : status
00:00:10 verbose #210 > > }
00:00:10 verbose #211 > 00:00:10 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e0f4234551693f60b1cef493aa8096cab34b09982b662f2fb3d04c6782579e6f/main.spi
00:00:10 verbose #212 > >
00:00:10 verbose #213 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #214 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #215 > > │ ## task_template │
00:00:10 verbose #216 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #217 > >
00:00:10 verbose #218 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #219 > > type task_template =
00:00:10 verbose #220 > > {
00:00:10 verbose #221 > > task : task
00:00:10 verbose #222 > > events : list event
00:00:10 verbose #223 > > }
00:00:10 verbose #224 > 00:00:10 debug #19 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/992671a734689e9f5b05323e539f3e0d13a70a7f634ad896f526a1b8dd441c31/main.spi
00:00:10 verbose #225 > >
00:00:10 verbose #226 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:10 verbose #227 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:10 verbose #228 > > │ ## get_tasks (test) │
00:00:10 verbose #229 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:10 verbose #230 > >
00:00:10 verbose #231 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:10 verbose #232 > > //// test
00:00:10 verbose #233 > >
00:00:10 verbose #234 > > inl get_tasks () : list task_template =
00:00:10 verbose #235 > > [[
00:00:10 verbose #236 > > {
00:00:10 verbose #237 > > task =
00:00:10 verbose #238 > > {
00:00:10 verbose #239 > > name = task_name "01"
00:00:10 verbose #240 > > scheduling = Manual WithSuggestion
00:00:10 verbose #241 > > }
00:00:10 verbose #242 > > events = [[]]
00:00:10 verbose #243 > > }
00:00:10 verbose #244 > > {
00:00:10 verbose #245 > > task =
00:00:10 verbose #246 > > {
00:00:10 verbose #247 > > name = task_name "02"
00:00:10 verbose #248 > > scheduling = Manual WithSuggestion
00:00:10 verbose #249 > > }
00:00:10 verbose #250 > > events = [[]]
00:00:10 verbose #251 > > }
00:00:10 verbose #252 > > {
00:00:10 verbose #253 > > task =
00:00:10 verbose #254 > > {
00:00:10 verbose #255 > > name = task_name "03"
00:00:10 verbose #256 > > scheduling = Manual WithSuggestion
00:00:10 verbose #257 > > }
00:00:10 verbose #258 > > events = [[]]
00:00:10 verbose #259 > > }
00:00:10 verbose #260 > > ]]
00:00:10 verbose #261 > 00:00:10 debug #20 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/3710c513ae0af6896ec09b13a42eb231949124aaca4657cbfcfeccdbce150c56/main.spi
00:00:11 verbose #262 > >
00:00:11 verbose #263 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:11 verbose #264 > > //// test
00:00:11 verbose #265 > > ///! rust
00:00:11 verbose #266 > >
00:00:11 verbose #267 > > types ()
00:00:11 verbose #268 > > get_tasks ()
00:00:11 verbose #269 > > |> sm'.format_pretty'
00:00:11 verbose #270 > > |> sm'.from_std_string
00:00:11 verbose #271 > > |> _assert_string_contains "01"
00:00:11 verbose #272 > 00:00:10 debug #21 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/2939df7cb5478584d8d1ab9a59eea22404ee47813bec8372fb3967fd6364e15b/main.spi
00:00:22 verbose #273 > >
00:00:22 verbose #274 > > ╭─[ 11.39s - return value ]────────────────────────────────────────────────────╮
00:00:22 verbose #275 > > │ assert_string_contains / actual: "01" / expected: "UH2_1( │
00:00:22 verbose #276 > > │ UH0_0, │
00:00:22 verbose #277 > > │ "01", │
00:00:22 verbose #278 > > │ US4_0( │
00:00:22 verbose #279 > > │ US3_0, │
00:00:22 verbose #280 > > │ ), │
00:00:22 verbose #281 > > │ UH2_1( │
00:00:22 verbose #282 > > │ UH0_0, │
00:00:22 verbose #283 > > │ "02", │
00:00:22 verbose #284 > > │ US4_0( │
00:00:22 verbose #285 > > │ US3_0, │
00:00:22 verbose #286 > > │ ), │
00:00:22 verbose #287 > > │ UH2_1( │
00:00:22 verbose #288 > > │ UH0_0, │
00:00:22 verbose #289 > > │ "03", │
00:00:22 verbose #290 > > │ US4_0( │
00:00:22 verbose #291 > > │ US3_0, │
00:00:22 verbose #292 > > │ ), │
00:00:22 verbose #293 > > │ UH2_0, │
00:00:22 verbose #294 > > │ ), │
00:00:22 verbose #295 > > │ ), │
00:00:22 verbose #296 > > │ )" │
00:00:22 verbose #297 > > │ │
00:00:22 verbose #298 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:22 verbose #299 > >
00:00:22 verbose #300 > > ── spiral ──────────────────────────────────────────────────────────────────────
00:00:22 verbose #301 > > //// test
00:00:22 verbose #302 > > ///! rust
00:00:22 verbose #303 > >
00:00:22 verbose #304 > > get_tasks ()
00:00:22 verbose #305 > > |> listm'.try_item 0i32
00:00:22 verbose #306 > > |> fun (Some task) => task.task.name
00:00:22 verbose #307 > > |> _assert_eq (task_name "01")
00:00:22 verbose #308 > 00:00:21 debug #22 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/670f824af0f591cbdb52b3a66cd8daff21f5802bcfbb93a7887f4e19f5af3825/main.spi
00:00:32 verbose #309 > >
00:00:32 verbose #310 > > ╭─[ 9.87s - return value ]─────────────────────────────────────────────────────╮
00:00:32 verbose #311 > > │ assert_eq / actual: "01" / expected: "01" │
00:00:32 verbose #312 > > │ │
00:00:32 verbose #313 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:32 verbose #314 > 00:00:30 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 14726
00:00:32 verbose #315 > 00:00:30 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:00:32 verbose #316 > 00:00:31 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb to html
00:00:32 verbose #317 > 00:00:31 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:32 verbose #318 > 00:00:31 verbose #7 ! validate(nb)
00:00:33 verbose #319 > 00:00:31 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:33 verbose #320 > 00:00:31 verbose #9 ! return _pygments_highlight(
00:00:33 verbose #321 > 00:00:31 verbose #10 ! [NbConvertApp] Writing 300044 bytes to /home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.html
00:00:33 verbose #322 > 00:00:32 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 902
00:00:33 verbose #323 > 00:00:32 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 902
00:00:33 verbose #324 > 00:00:32 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:00:33 verbose #325 > 00:00:32 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:00:33 verbose #326 > 00:00:32 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:00:33 verbose #327 > 00:00:32 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 15687
00:00:33 debug #328 execute_with_options_async / exit_code: 0 / output.Length: 18675
00:00:33 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Tasks.dib --retries 3
00:00:33 verbose #35 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:00:34 verbose #36 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 writeDibCode / output: Spi / path: Tasks.dib
00:00:00 debug #2 parseDibCode / output: Spi / file: Tasks.dib
In [ ]:
{ pwsh ../apps/chat/build.ps1 } | Invoke-Block
Compiling version_check v0.9.4 Compiling hashbrown v0.14.5 Compiling equivalent v1.0.1 Compiling syn v2.0.65 Compiling toml_datetime v0.6.6 Compiling winnow v0.5.40 Compiling proc-macro-error-attr v1.0.4 Compiling proc-macro-error v1.0.4 Compiling indexmap v2.2.6 Compiling serde v1.0.202 Compiling cfg_aliases v0.1.1 Compiling borsh v1.5.0 Compiling typenum v1.17.0 Compiling generic-array v0.14.7 Compiling serde_json v1.0.117 Compiling rustversion v1.0.17 Compiling ident_case v1.0.1 Compiling fnv v1.0.7 Compiling syn v1.0.109 Compiling toml_edit v0.21.1 Compiling ryu v1.0.18 Compiling data-encoding v2.6.0 Compiling proc-macro-crate v3.1.0 Compiling darling_core v0.20.9 Compiling near-sdk-macros v5.1.0 Compiling itoa v1.0.11 Compiling wee_alloc v0.4.5 Compiling data-encoding-macro-internal v0.1.13 Compiling crypto-common v0.1.6 Compiling block-buffer v0.10.4 Compiling strum v0.26.2 Compiling memory_units v0.4.0 Compiling Inflector v0.11.4 Compiling serde_derive v1.0.202 Compiling syn_derive v0.1.8 Compiling borsh-derive v1.5.0 Compiling strum_macros v0.26.2 Compiling darling_macro v0.20.9 Compiling darling v0.20.9 Compiling cfg-if v0.1.10 Compiling data-encoding-macro v0.1.15 Compiling digest v0.10.7 Compiling near-sys v0.2.1 Compiling cfg-if v1.0.0 Compiling bs58 v0.5.1 Compiling base-x v0.2.11 Compiling once_cell v1.19.0 Compiling base64 v0.21.7 Compiling multibase v0.9.1 Compiling sha2 v0.10.8 Compiling unsigned-varint v0.8.0 Compiling near-account-id v1.0.0 Compiling near-token v0.2.0 Compiling near-gas v0.2.5 Compiling near-sdk v5.1.0 Compiling chat_contract v0.0.1 (/home/runner/work/polyglot/polyglot/apps/chat/contract) Finished `release` profile [optimized] target(s) in 14.17s Compiling libc v0.2.155 Compiling syn v2.0.65 Compiling serde v1.0.202 Compiling once_cell v1.19.0 Compiling syn v1.0.109 Compiling pkg-config v0.3.30 Compiling jobserver v0.1.31 Compiling smallvec v1.13.2 Compiling cc v1.0.98 Compiling getrandom v0.2.15 Compiling log v0.4.21 Compiling typenum v1.17.0 Compiling generic-array v0.14.7 Compiling scopeguard v1.2.0 Compiling parking_lot_core v0.9.10 Compiling lock_api v0.4.12 Compiling parking_lot v0.12.2 Compiling cfg-if v1.0.0 Compiling rustix v0.38.34 Compiling anyhow v1.0.86 Compiling bytes v1.6.0 Compiling subtle v2.5.0 Compiling signal-hook-registry v1.4.2 Compiling socket2 v0.5.7 Compiling mio v0.8.11 Compiling futures-core v0.3.30 Compiling crypto-common v0.1.6 Compiling rand_core v0.6.4 Compiling thiserror v1.0.61 Compiling block-buffer v0.10.4 Compiling tracing-core v0.1.32 Compiling futures-sink v0.3.30 Compiling digest v0.10.7 Compiling linux-raw-sys v0.4.14 Compiling ppv-lite86 v0.2.17 Compiling bitflags v2.5.0 Compiling futures-channel v0.3.30 Compiling proc-macro-error v1.0.4 Compiling cpufeatures v0.2.12 Compiling serde_derive v1.0.202 Compiling tokio-macros v2.2.0 Compiling thiserror-impl v1.0.61 Compiling tokio v1.37.0 Compiling tracing-attributes v0.1.27 Compiling futures-util v0.3.30 Compiling tracing v0.1.40 Compiling zstd-sys v2.0.10+zstd.1.5.6 Compiling crc32fast v1.4.0 Compiling spin v0.5.2 Compiling either v1.12.0 Compiling lazy_static v1.4.0 Compiling ring v0.17.8 Compiling serde_json v1.0.117 Compiling rand_chacha v0.3.1 Compiling percent-encoding v2.3.1 Compiling rand v0.8.5 Compiling sha2 v0.10.8 Compiling num-traits v0.2.19 Compiling home v0.5.9 Compiling equivalent v1.0.1 Compiling byteorder v1.5.0 Compiling hashbrown v0.14.5 Compiling indexmap v2.2.6 Compiling itertools v0.10.5 Compiling zstd-safe v5.0.2+zstd.1.5.2 Compiling fnv v1.0.7 Compiling tokio-util v0.7.11 Compiling syn_derive v0.1.8 Compiling pin-project-internal v1.1.5 Compiling bzip2-sys v0.1.11+1.0.8 Compiling strsim v0.11.1 Compiling crossbeam-utils v0.8.20 Compiling prost-derive v0.9.0 Compiling semver v1.0.23 Compiling darling_core v0.20.9 Compiling borsh-derive v1.5.0 Compiling pin-project v1.1.5 Compiling http v0.2.12 Compiling borsh v1.5.0 Compiling httparse v1.8.0 Compiling base64 v0.22.1 Compiling memchr v2.7.2 Compiling aho-corasick v1.1.3 Compiling darling_macro v0.20.9 Compiling which v4.4.2 Compiling num-bigint v0.3.3 Compiling indexmap v1.9.3 Compiling tower-service v0.3.2 Compiling getrandom v0.1.16 Compiling crunchy v0.2.2 Compiling regex-syntax v0.8.3 Compiling try-lock v0.2.5 Compiling rustls v0.22.4 Compiling want v0.3.1 Compiling prost-build v0.9.0 Compiling darling v0.20.9 Compiling crossbeam-channel v0.5.13 Compiling rustc_version v0.4.0 Compiling prost v0.9.0 Compiling http-body v0.4.6 Compiling h2 v0.3.26 Compiling num-integer v0.1.46 Compiling hex v0.4.3 Compiling regex-automata v0.4.6 Compiling num-rational v0.3.2 Compiling convert_case v0.4.0 Compiling base64 v0.21.7 Compiling platforms v3.4.0 Compiling hashbrown v0.12.3 Compiling unicode-segmentation v1.11.0 Compiling httpdate v1.0.3 Compiling bs58 v0.4.0 Compiling fastrand v2.1.0 Compiling fixedbitset v0.4.2 Compiling powerfmt v0.2.0 Compiling vcpkg v0.2.15 Compiling deranged v0.3.11 Compiling openssl-sys v0.9.102 Compiling regex v1.10.4 Compiling tempfile v3.10.1 Compiling petgraph v0.6.5 Compiling heck v0.3.3 Compiling hyper v0.14.28 Compiling curve25519-dalek v4.1.2 Compiling derive_more v0.99.17 Compiling prost-types v0.9.0 Compiling strum_macros v0.24.3 Compiling serde_with_macros v3.8.1 Compiling near-account-id v1.0.0 Compiling tokio-stream v0.1.15 Compiling async-trait v0.1.80 Compiling enum-map-derive v0.17.0 Compiling derive_arbitrary v1.3.2 Compiling secp256k1-sys v0.8.1 Compiling multimap v0.8.3 Compiling static_assertions v1.1.0 Compiling time-core v0.1.2 Compiling regex-syntax v0.6.29 Compiling num-conv v0.1.0 Compiling arbitrary v1.3.2 Compiling time v0.3.36 Compiling enum-map v2.7.3 Compiling serde_with v3.8.1 Compiling regex-automata v0.1.10 Compiling strum v0.24.1 Compiling rand_core v0.5.1 Compiling futures-executor v0.3.30 Compiling serde_repr v0.1.19 Compiling curve25519-dalek-derive v0.1.1 Compiling fs2 v0.4.3 Compiling signature v2.2.0 Compiling tinyvec_macros v0.1.1 Compiling overload v0.1.1 Compiling adler v1.0.2 Compiling miniz_oxide v0.7.3 Compiling tinyvec v1.6.0 Compiling nu-ansi-term v0.46.0 Compiling ed25519 v2.2.3 Compiling near-primitives-core v0.20.1 Compiling opentelemetry v0.17.0 Compiling matchers v0.1.0 Compiling rand_chacha v0.2.2 Compiling tonic-build v0.6.2 Compiling fixed-hash v0.7.0 Compiling uint v0.9.5 Compiling tokio-io-timeout v1.2.0 Compiling sharded-slab v0.1.7 Compiling async-stream-impl v0.3.5 Compiling tracing-log v0.2.0 Compiling crypto-mac v0.8.0 Compiling digest v0.9.0 Compiling cipher v0.2.5 Compiling thread_local v1.1.8 Compiling untrusted v0.9.0 Compiling opaque-debug v0.3.1 Compiling protobuf v2.28.0 Compiling spin v0.9.8 Compiling json_comments v0.2.2 Compiling tower-layer v0.3.2 Compiling rustls-pki-types v1.7.0 Compiling tower v0.4.13 Compiling near-config-utils v0.20.1 Compiling blake2 v0.9.2 Compiling tracing-subscriber v0.3.18 Compiling c2-chacha v0.3.3 Compiling async-stream v0.3.5 Compiling hyper-timeout v0.4.1 Compiling primitive-types v0.10.1 Compiling opentelemetry-otlp v0.10.0 Compiling rand v0.7.3 Compiling flate2 v1.0.30 Compiling ed25519-dalek v2.1.1 Compiling unicode-normalization v0.1.23 Compiling secp256k1 v0.27.0 Compiling tracing-futures v0.2.5 Compiling inout v0.1.3 Compiling form_urlencoded v1.2.1 Compiling tokio-util v0.6.10 Compiling memoffset v0.8.0 Compiling unicode-bidi v0.3.15 Compiling siphasher v0.3.11 Compiling openssl v0.10.64 Compiling foreign-types-shared v0.1.1 Compiling base64 v0.13.1 Compiling near-stdx v0.20.1 Compiling base64ct v1.6.0 Compiling unsafe-libyaml v0.2.11 Compiling prometheus v0.13.4 Compiling heck v0.5.0 Compiling clap_derive v4.5.4 Compiling clap_builder v4.5.2 Compiling serde_yaml v0.9.34+deprecated Compiling idna v0.5.0 Compiling password-hash v0.4.2 Compiling tonic v0.6.2 Compiling near-crypto v0.20.1 Compiling foreign-types v0.3.2 Compiling cipher v0.4.4 Compiling rustls-webpki v0.102.4 Compiling hmac v0.12.1 Compiling actix-rt v2.9.0 Compiling futures v0.3.30 Compiling actix_derive v0.6.1 Compiling actix-macros v0.2.4 Compiling openssl-macros v0.1.1 Compiling tracing-log v0.1.4 Compiling ahash v0.7.8 Compiling native-tls v0.2.11 Compiling zeroize v1.7.0 Compiling near-sandbox-utils v0.7.0 Compiling reed-solomon-erasure v4.0.2 Compiling assert_matches v1.5.0 Compiling keccak v0.1.5 Compiling rustc-hex v2.1.0 Compiling sha3 v0.10.8 Compiling zeropool-bn v0.5.11 Compiling near-parameters v0.20.1 Compiling chrono v0.4.38 Compiling tracing-opentelemetry v0.17.4 Compiling actix v0.13.3 Compiling pbkdf2 v0.11.0 Compiling aes v0.8.4 Compiling url v2.5.0 Compiling zstd v0.11.2+zstd.1.5.2 Compiling bzip2 v0.4.4 Compiling clap v4.5.4 Compiling tracing-appender v0.2.3 Compiling webpki-roots v0.26.1 Compiling opentelemetry-semantic-conventions v0.9.0 Compiling near-fmt v0.20.1 Compiling sha1 v0.10.6 Compiling near-rpc-error-core v0.20.1 Compiling toml v0.5.11 Compiling xattr v1.3.1 Compiling ripemd v0.1.3 Compiling serde_derive_internals v0.29.1 Compiling filetime v0.2.23 Compiling dirs-sys-next v0.1.2 Compiling constant_time_eq v0.1.5 Compiling schemars v0.8.20 Compiling camino v1.1.7 Compiling openssl-probe v0.1.5 Compiling radium v0.7.0 Compiling prefix-sum-vec v0.1.2 Compiling uuid v0.8.2 Compiling near-vm-runner v0.20.1 Compiling zip v0.6.6 Compiling ureq v2.9.7 Compiling dirs-next v2.0.0 Compiling tar v0.4.40 Compiling schemars_derive v0.8.20 Compiling proc-macro-crate v0.1.5 Compiling near-rpc-error-macro v0.20.1 Compiling near-o11y v0.20.1 Compiling phf_shared v0.10.0 Compiling bytesize v1.3.0 Compiling smart-default v0.6.0 Compiling scroll_derive v0.11.1 Compiling borsh-derive-internal v0.9.3 Compiling borsh-schema-derive-internal v0.9.3 Compiling precomputed-hash v0.1.1 Compiling pin-project-lite v0.2.14 Compiling arrayvec v0.7.4 Compiling iana-time-zone v0.1.60 Compiling dyn-clone v1.0.17 Compiling minimal-lexical v0.2.1 Compiling tap v1.0.1 Compiling easy-ext v0.2.9 Compiling is_executable v0.1.2 Compiling stable_deref_trait v1.2.0 Compiling fallible-iterator v0.2.0 Compiling new_debug_unreachable v1.0.6 Compiling string_cache v0.8.7 Compiling nom v7.1.3 Compiling binary-install v0.2.0 Compiling wyz v0.5.1 Compiling near-primitives v0.20.1 Compiling brownstone v1.1.0 Compiling borsh-derive v0.9.3 Compiling scroll v0.11.0 Compiling hashbrown v0.11.2 Compiling tokio-native-tls v0.3.1 Compiling debugid v0.7.3 Compiling cargo-platform v0.1.8 Compiling memmap2 v0.5.10 Compiling atty v0.2.14 Compiling joinery v2.1.0 Compiling plain v0.2.3 Compiling termcolor v1.4.1 Compiling funty v2.0.0 Compiling xml-rs v0.8.20 Compiling os_str_bytes v6.6.1 Compiling indent_write v2.2.0 Compiling scroll v0.10.2 Compiling pdb v0.7.0 Compiling elementtree v0.7.0 Compiling nom-supreme v0.6.0 Compiling bitvec v1.0.1 Compiling clap_lex v0.2.4 Compiling goblin v0.5.4 Compiling symbolic-common v8.8.0 Compiling near-chain-configs v0.20.1 Compiling hyper-tls v0.5.0 Compiling borsh v0.9.3 Compiling gimli v0.26.2 Compiling serde_urlencoded v0.7.1 Compiling zip v0.5.13 Compiling rustls-pemfile v1.0.4 Compiling clap_derive v3.2.25 Compiling lazycell v1.3.0 Compiling wasmparser v0.83.0 Compiling dmsort v1.0.2 Compiling bitflags v1.3.2 Compiling mime v0.3.17 Compiling ipnet v2.9.0 Compiling strsim v0.10.0 Compiling sync_wrapper v0.1.2 Compiling textwrap v0.16.1 Compiling humantime v2.1.0 Compiling env_logger v0.9.3 Compiling reqwest v0.11.27 Compiling clap v3.2.25 Compiling symbolic-debuginfo v8.8.0 Compiling near-abi v0.3.0 Compiling near-jsonrpc-primitives v0.20.1 Compiling near-workspaces v0.10.0 Compiling cargo_metadata v0.14.2 Compiling colored v2.1.0 Compiling libloading v0.7.4 Compiling cargo-near v0.3.1 Compiling near-jsonrpc-client v0.8.0 Compiling cargo_metadata v0.18.1 Compiling near-gas v0.2.5 Compiling tokio-retry v0.3.0 Compiling json-patch v1.4.0 Compiling near-token v0.2.0 Compiling bs58 v0.5.1 Compiling chat_contract_tests v0.0.1 (/home/runner/work/polyglot/polyglot/apps/chat/contract/tests) Finished `release` profile [optimized] target(s) in 2m 14s Running `/home/runner/work/polyglot/polyglot/workspace/target/release/chat_contract_tests` Installed near-sandbox into /home/runner/work/polyglot/polyglot/workspace/target/release/build/near-sandbox-utils-845978b5c9afa1dc/out/near-sandbox Updated the logging layer according to `log_config.json` new: ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5282754737580, }, transaction: ExecutionOutcome { transaction_hash: GW7kph4XK6tUPavwgw7mYx1gNiSEfBevVxAEM4y3Firf, block_hash: 3qEdMpxn88aWYCJkypMD79EXsBRSgLiy833GkLcyrsiq, logs: [], receipt_ids: [ HN8menX6WtoA5BVTT4rwcm9VAGT1heayRDQPuecLPBrc, ], gas_burnt: NearGas { inner: 2427927707802, }, tokens_burnt: NearToken { inner: 242792770780200000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessReceiptId(HN8menX6WtoA5BVTT4rwcm9VAGT1heayRDQPuecLPBrc), }, receipts: [ ExecutionOutcome { transaction_hash: HN8menX6WtoA5BVTT4rwcm9VAGT1heayRDQPuecLPBrc, block_hash: 3qEdMpxn88aWYCJkypMD79EXsBRSgLiy833GkLcyrsiq, logs: [], receipt_ids: [ 849BCkFo7cmXDTDdKbRsW2rs9vK3M6iTYjPhJSdy6zgD, ], gas_burnt: NearGas { inner: 2631644467278, }, tokens_burnt: NearToken { inner: 263164446727800000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 849BCkFo7cmXDTDdKbRsW2rs9vK3M6iTYjPhJSdy6zgD, block_hash: 2fqxp3WSngyDdTr7TLvAQLLBAHC5RRUcfteRbSxfaQqM, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0035288801647034396 outcome (success: true): outcome_gas_burnt_usd: 0.001621855708811736 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.001757938504141704 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5279456186014, }, transaction: ExecutionOutcome { transaction_hash: 6afbqcR35XPcnqQRSz2jsuVQgjad3VYsz2rnMQCRjmL2, block_hash: 7prEYC9vVJTFBbJQFhamqVBWhXiYxadEdLniAv9xQWZG, logs: [], receipt_ids: [ HzNjfU8CUudDpME9y8X2Nghat9jN6v3E3pky45yZ1DYV, ], gas_burnt: NearGas { inner: 2427972426482, }, tokens_burnt: NearToken { inner: 242797242648200000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessReceiptId(HzNjfU8CUudDpME9y8X2Nghat9jN6v3E3pky45yZ1DYV), }, receipts: [ ExecutionOutcome { transaction_hash: HzNjfU8CUudDpME9y8X2Nghat9jN6v3E3pky45yZ1DYV, block_hash: 7prEYC9vVJTFBbJQFhamqVBWhXiYxadEdLniAv9xQWZG, logs: [ "claim_alias / alias: \"\" / account_id: AccountId(\n \"dev-20240520135515-57233054295552\",\n) / timestamp: 1716213318234839800", ], receipt_ids: [ 636K4AXEGUZasxp5CJs6zL8jgccV2aG3vM9HmthcVVtC, ], gas_burnt: NearGas { inner: 2628301197032, }, tokens_burnt: NearToken { inner: 262830119703200000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), }, ExecutionOutcome { transaction_hash: 636K4AXEGUZasxp5CJs6zL8jgccV2aG3vM9HmthcVVtC, block_hash: 8bS9XMrXahHbm5cVAYsaEBXszkFdMcdpT9upUBMe96HQ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ], status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), } total_gas_burnt_usd: 0.0035266767322573514 outcome (success: true): outcome_gas_burnt_usd: 0.001621885580889976 outcome_tokens_burnt_usd: 0.0 outcome (success: false): outcome_gas_burnt_usd: 0.001755705199617376 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 dev_create_account(account1): Account { id: AccountId( "dev-20240520135518-66119158082047", ), } generate_cid_borsh(account1): ViewResultDetails { result: [ 59, 0, 0, 0, 98, 97, 102, 107, 114, 101, 105, 104, 100, 119, 100, 99, 101, 102, 103, 104, 52, 100, 113, 107, 106, 118, 54, 55, 117, 122, 99, 109, 119, 55, 111, 106, 101, 101, 54, 120, 101, 100, 122, 100, 101, 116, 111, 106, 117, 122, 106, 101, 118, 116, 101, 110, 120, 113, 117, 118, 121, 107, 117, ], logs: [], } claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5700073754779, }, transaction: ExecutionOutcome { transaction_hash: 3smmAQMhQ2cmuNnCqpMkZLyQHz98UkZBBhozRy9yCvZc, block_hash: erzGL2fNkPaQXtY8VAc9qZ9796wzbm2NZi1TacNDJf9, logs: [], receipt_ids: [ Dd5eGfbiWQhCCechLVSbrDxKRUNp7bsWinUJiBLg586Z, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessReceiptId(Dd5eGfbiWQhCCechLVSbrDxKRUNp7bsWinUJiBLg586Z), }, receipts: [ ExecutionOutcome { transaction_hash: Dd5eGfbiWQhCCechLVSbrDxKRUNp7bsWinUJiBLg586Z, block_hash: DaQFrDVxF51L9rddW6UZRFTM1G43avz1geCeXP8VZCkV, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240520135518-66119158082047\",\n) / timestamp: 1716213320459158151", ], receipt_ids: [ AyKHUxa471C5TnYW2YrcBQxKfu4adrRp73rFZ3Qn9i6R, ], gas_burnt: NearGas { inner: 3048905350193, }, tokens_burnt: NearToken { inner: 304890535019300000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: AyKHUxa471C5TnYW2YrcBQxKfu4adrRp73rFZ3Qn9i6R, block_hash: 6AuAZbFDjeJHQiPRxRq7nvbV8PhiBQzZHP4BLMFvVAeZ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.003807649268192372 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002036668773928924 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5524390122016, }, transaction: ExecutionOutcome { transaction_hash: 3FdcUu7w73zJM88kYxKDDPm34X8fwtJ6N8UWppYeXeZx, block_hash: 71Fe7ovjwFtb3kqhaQdoE8oiDoBRmgv26UZZBYqDhDGA, logs: [], receipt_ids: [ J6JoSyqEiejpz6kMPnJDEmCQmJyoX36Bie166ciEB6Vz, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessReceiptId(J6JoSyqEiejpz6kMPnJDEmCQmJyoX36Bie166ciEB6Vz), }, receipts: [ ExecutionOutcome { transaction_hash: J6JoSyqEiejpz6kMPnJDEmCQmJyoX36Bie166ciEB6Vz, block_hash: 5HSudXvPNG7YG2d2un99trvYShUzPcJcPFTMmX9LD3xM, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240520135518-66119158082047\",\n) / timestamp: 1716213321267691666", "Alias already claimed", ], receipt_ids: [ 7G5NJbiuyDp3FHdr2S816nQCdPzN3CmW5ggCXLWPNMn9, ], gas_burnt: NearGas { inner: 2873221717430, }, tokens_burnt: NearToken { inner: 287322171743000000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 7G5NJbiuyDp3FHdr2S816nQCdPzN3CmW5ggCXLWPNMn9, block_hash: 6Dz2zU3LomN1UCC6HwMAiuSSGHr24Hr2HtPbehjuK3HG, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.003690292601506688 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.0019193121072432397 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1716213320459158151, 0, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20240520135518-66119158082047", ): ( 1716213320459158151, 0, ), }, ) dev_create_account(account2): Account { id: AccountId( "dev-20240520135521-81714499700201", ), } claim_alias(alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5787423534409, }, transaction: ExecutionOutcome { transaction_hash: 6atBkhxbcZyQZ5vbveszJqodvmyABXpRySGB3DRsryQM, block_hash: 3TyPvqQQo4hnjFafFBz9RmGdjyc9vxxoobARwKWzsKbV, logs: [], receipt_ids: [ 48Wa61FDwY7T1S8VcKzcNaXvbXq5tYjktAUvsBgX5UeU, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240520135521-81714499700201", ), status: SuccessReceiptId(48Wa61FDwY7T1S8VcKzcNaXvbXq5tYjktAUvsBgX5UeU), }, receipts: [ ExecutionOutcome { transaction_hash: 48Wa61FDwY7T1S8VcKzcNaXvbXq5tYjktAUvsBgX5UeU, block_hash: F544SPEqXnmvsfDbnkm5yv58r58oDHbjVPXZta53k5Qx, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20240520135521-81714499700201\",\n) / timestamp: 1716213323290115544", ], receipt_ids: [ 8tFABBsobQn1wJNmodzhAdRvSRRMr8KQrAm5gBepgssc, ], gas_burnt: NearGas { inner: 3136255129823, }, tokens_burnt: NearToken { inner: 313625512982300000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 8tFABBsobQn1wJNmodzhAdRvSRRMr8KQrAm5gBepgssc, block_hash: sfZkgiMr38v5xjeBU6HFsJXwZPAugT8bgc3cAy6kNMf, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135521-81714499700201", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0038659989209852115 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002095018426721764 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias2", ( 1716213323290115544, 0, ), ), ) get_alias_map_borsh(alias2): Some( { AccountId( "dev-20240520135521-81714499700201", ): ( 1716213323290115544, 0, ), }, ) claim_alias(account2, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6091869648688, }, transaction: ExecutionOutcome { transaction_hash: BsJfcmW8Tm7FDH6PfbHPvVdHTbDmRkVvUab3py5J3bme, block_hash: 5YnMBTm3VWqdvEM4MrsGT8azPB5vMHceVebVw1KEmmG1, logs: [], receipt_ids: [ 7j2wPTDZRRrSZbxN9CqDQGqBMN8oEifrFbyxfZWZFka2, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240520135521-81714499700201", ), status: SuccessReceiptId(7j2wPTDZRRrSZbxN9CqDQGqBMN8oEifrFbyxfZWZFka2), }, receipts: [ ExecutionOutcome { transaction_hash: 7j2wPTDZRRrSZbxN9CqDQGqBMN8oEifrFbyxfZWZFka2, block_hash: 3sudQ2rjipiCtmMG6SmTsQM7SVDKFKittuSZhvtGNBjC, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240520135521-81714499700201\",\n) / timestamp: 1716213324301629783", ], receipt_ids: [ GXrjEMYtdDkRqNmm3tVj9vz5acuq6WyTWZ7rKfwznDTn, ], gas_burnt: NearGas { inner: 3440701244102, }, tokens_burnt: NearToken { inner: 344070124410200000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: GXrjEMYtdDkRqNmm3tVj9vz5acuq6WyTWZ7rKfwznDTn, block_hash: LArEHheU3gWPNK4JVLSfaWcRfdEmBpn7yDF98Ho2hjv, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135521-81714499700201", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0040693689253235845 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002298388431060136 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias1", ( 1716213324301629783, 1, ), ), ) get_alias_map(account2, alias1): Some( { AccountId( "dev-20240520135518-66119158082047", ): ( 1716213320459158151, 0, ), AccountId( "dev-20240520135521-81714499700201", ): ( 1716213324301629783, 1, ), }, ) get_alias_map(account2, alias2): Some( {}, ) claim_alias(account1, alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6086563695244, }, transaction: ExecutionOutcome { transaction_hash: 8ydT6JJh1Ds4EkcknQGCYb2FMLq7UXgR6cmGfDbPyuuX, block_hash: JAquYsBVawwmxLHiDq8ezoPoHBKoKETuNpZ5C1FgjTVs, logs: [], receipt_ids: [ BCt4YSfJcEqktu5Vpj7kHrb3E1xfAomeXn6JXc4ckKyU, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessReceiptId(BCt4YSfJcEqktu5Vpj7kHrb3E1xfAomeXn6JXc4ckKyU), }, receipts: [ ExecutionOutcome { transaction_hash: BCt4YSfJcEqktu5Vpj7kHrb3E1xfAomeXn6JXc4ckKyU, block_hash: AFFEWkBGoM1CnG3xBQJBGAPAoxvV1YBE2cKDQpsAsgkQ, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20240520135518-66119158082047\",\n) / timestamp: 1716213325310360672", ], receipt_ids: [ Bzg55N5f3hDy9esoQjAs5EFWQAinE5gWPzWGSii3F2zz, ], gas_burnt: NearGas { inner: 3435395290658, }, tokens_burnt: NearToken { inner: 343539529065800000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: Bzg55N5f3hDy9esoQjAs5EFWQAinE5gWPzWGSii3F2zz, block_hash: 68rybrzVSKPpQMKRUbjZyV65fefjN5KQt3YULDzRHeMg, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004065824548422992 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002294844054159544 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias2", ( 1716213325310360672, 0, ), ), ) get_alias_map(account1, alias2): Some( { AccountId( "dev-20240520135518-66119158082047", ): ( 1716213325310360672, 0, ), }, ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20240520135521-81714499700201", ): ( 1716213324301629783, 1, ), }, ) claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6091869648688, }, transaction: ExecutionOutcome { transaction_hash: 4L6LJQRWm6tnetNRqxr1VHwAByDFkz88CRkwYTJk3rVf, block_hash: G1mm8SuUjb3xfA4ir8CitKct4pATrXmmRrqgt3CSzphr, logs: [], receipt_ids: [ 2ymToZxKTWeM2DtXHMHo98SBhTgCMfXU6RkTCTJhd8xb, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessReceiptId(2ymToZxKTWeM2DtXHMHo98SBhTgCMfXU6RkTCTJhd8xb), }, receipts: [ ExecutionOutcome { transaction_hash: 2ymToZxKTWeM2DtXHMHo98SBhTgCMfXU6RkTCTJhd8xb, block_hash: CRpmSEqmM4wQ5qayDAfRX2rBy1mS6C3Hmeu3LHvfUhnR, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240520135518-66119158082047\",\n) / timestamp: 1716213326322144927", ], receipt_ids: [ BPSWYZxGGn2w6TfSTi7cRtkY4HRmvi8WD2QRGd5mmJCQ, ], gas_burnt: NearGas { inner: 3440701244102, }, tokens_burnt: NearToken { inner: 344070124410200000000, }, executor_id: AccountId( "dev-20240520135515-57233054295552", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: BPSWYZxGGn2w6TfSTi7cRtkY4HRmvi8WD2QRGd5mmJCQ, block_hash: 5ZGM3PL1d1Smwm99qnfmLM6ERU3T4KoYw8jgcHXrdMcb, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240520135518-66119158082047", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0040693689253235845 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002298388431060136 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1716213326322144927, 1, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20240520135518-66119158082047", ): ( 1716213326322144927, 1, ), AccountId( "dev-20240520135521-81714499700201", ): ( 1716213324301629783, 0, ), }, ) get_alias_map(account1, alias2): Some( {}, )
In [ ]:
{ pwsh ../apps/spiral/temp/extension/build.ps1 } | Invoke-Block
bun install v1.1.8 (89d25807) + @playwright/test@1.44.0 + @types/chrome@0.0.268 + npm-check-updates@17.0.0-5 + buffer@6.0.3 11 packages installed [250.00ms] [INFO]: 🎯 Checking for the Wasm target... [INFO]: 🌀 Compiling to Wasm... Compiling proc-macro2 v1.0.83 Compiling unicode-ident v1.0.12 Compiling autocfg v1.3.0 Compiling once_cell v1.19.0 Compiling serde v1.0.202 Compiling cfg-if v1.0.0 Compiling wasm-bindgen-shared v0.2.92 Compiling bumpalo v3.16.0 Compiling log v0.4.21 Compiling version_check v0.9.4 Compiling wasm-bindgen v0.2.92 Compiling thiserror v1.0.61 Compiling quote v1.0.36 Compiling syn v2.0.65 Compiling memchr v2.7.2 Compiling smallvec v1.13.2 Compiling pin-project-lite v0.2.14 Compiling futures-core v0.3.30 Compiling lock_api v0.4.12 Compiling slab v0.4.9 Compiling parking_lot_core v0.9.10 Compiling itoa v1.0.11 Compiling futures-sink v0.3.30 Compiling futures-channel v0.3.30 Compiling hashbrown v0.14.5 Compiling futures-io v0.3.30 Compiling libc v0.2.155 Compiling ryu v1.0.18 Compiling pin-utils v0.1.0 Compiling serde_json v1.0.117 Compiling futures-task v0.3.30 Compiling unicode-xid v0.2.4 Compiling proc-macro-utils v0.8.0 Compiling const_format_proc_macros v0.2.32 Compiling proc-macro-error-attr v1.0.4 Compiling equivalent v1.0.1 Compiling percent-encoding v2.3.1 Compiling tinyvec_macros v0.1.1 Compiling tinyvec v1.6.0 Compiling indexmap v2.2.6 Compiling proc-macro-error v1.0.4 Compiling unicode-segmentation v1.11.0 Compiling bytes v1.6.0 Compiling fnv v1.0.7 Compiling convert_case v0.6.0 Compiling const_format v0.2.32 Compiling unicode-normalization v0.1.23 Compiling wasm-bindgen-backend v0.2.92 Compiling form_urlencoded v1.2.1 Compiling proc-macro2-diagnostics v0.10.1 Compiling xxhash-rust v0.8.10 Compiling unicode-bidi v0.3.15 Compiling server_fn_macro v0.6.11 Compiling wasm-bindgen-macro-support v0.2.92 Compiling idna v0.5.0 Compiling http v0.2.12 Compiling manyhow-macros v0.10.4 Compiling slotmap v1.0.7 Compiling half v2.4.1 Compiling scopeguard v1.2.0 Compiling yansi v1.0.1 Compiling camino v1.1.7 Compiling ciborium-io v0.2.2 Compiling paste v1.0.15 Compiling anyhow v1.0.86 Compiling ciborium-ll v0.2.2 Compiling serde_derive v1.0.202 Compiling wasm-bindgen-macro v0.2.92 Compiling thiserror-impl v1.0.61 Compiling futures-macro v0.3.30 Compiling js-sys v0.3.69 Compiling futures-util v0.3.30 Compiling pin-project-internal v1.1.5 Compiling derive-where v1.2.7 Compiling futures-executor v0.3.30 Compiling web-sys v0.3.69 Compiling wasm-bindgen-futures v0.4.42 Compiling tracing-attributes v0.1.27 Compiling quote-use-macros v0.8.0 Compiling futures v0.3.30 Compiling pin-project v1.1.5 Compiling quote-use v0.8.0 Compiling syn_derive v0.1.8 Compiling serde_spanned v0.6.6 Compiling toml_datetime v0.6.6 Compiling manyhow v0.10.4 Compiling url v2.5.0 Compiling tracing-core v0.1.32 Compiling same-file v1.0.6 Compiling interpolator v0.5.0 Compiling collection_literals v1.0.1 Compiling prettyplease v0.2.20 Compiling winnow v0.6.8 Compiling attribute-derive-macro v0.9.1 Compiling walkdir v2.5.0 Compiling tracing v0.1.40 Compiling parking_lot v0.12.2 Compiling toml_edit v0.22.13 Compiling serde-wasm-bindgen v0.6.5 Compiling serde_qs v0.12.0 Compiling ciborium v0.2.2 Compiling rstml v0.11.2 Compiling dashmap v5.5.3 Compiling server_fn_macro_default v0.6.11 Compiling getrandom v0.2.15 Compiling http v1.1.0 Compiling send_wrapper v0.6.0 Compiling aho-corasick v1.1.3 Compiling rustc-hash v1.1.0 Compiling regex-syntax v0.8.3 Compiling base64 v0.22.1 Compiling minimal-lexical v0.2.1 Compiling self_cell v1.0.4 Compiling either v1.12.0 Compiling utf8-width v0.1.7 Compiling lazy_static v1.4.0 Compiling html-escape v0.2.13 Compiling itertools v0.12.1 Compiling regex-automata v0.4.6 Compiling gloo-utils v0.2.0 Compiling gloo-net v0.5.0 Compiling leptos_reactive v0.6.11 Compiling nom v7.1.3 Compiling wasm-streams v0.4.0 Compiling uuid v1.8.0 Compiling leptos_hot_reload v0.6.11 Compiling server_fn v0.6.11 Compiling toml v0.8.13 Compiling attribute-derive v0.9.1 Compiling typed-builder-macro v0.18.2 Compiling pathdiff v0.2.1 Compiling config v0.14.0 Compiling leptos_macro v0.6.11 Compiling typed-builder v0.18.2 Compiling regex v1.10.4 Compiling async-recursion v1.1.1 Compiling inventory v0.3.15 Compiling pad-adapter v0.1.1 Compiling drain_filter_polyfill v0.1.3 Compiling leptos_config v0.6.11 Compiling num-traits v0.2.19 Compiling cfg_aliases v0.1.1 Compiling borsh v1.5.0 Compiling serde_test v1.0.176 Compiling leptos_dom v0.6.11 Compiling linear-map v1.2.0 Compiling serde_urlencoded v0.7.1 Compiling tokio v1.37.0 Compiling tower-service v0.3.2 Compiling base64 v0.13.1 Compiling console_log v1.0.0 Compiling reqwest-wasm v0.11.16 Compiling leptos_server v0.6.11 Compiling rexie v0.5.0 Compiling console_error_panic_hook v0.1.7 Compiling leptos v0.6.11 Compiling leptos_router v0.6.11 Compiling leptos_meta v0.6.11 Compiling spiral_temp_extension v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/temp/extension) Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.83s [INFO]: ⬇️ Installing wasm-bindgen... [INFO]: Optional field missing from Cargo.toml: 'description'. This is not necessary, but recommended [INFO]: origin crate has no LICENSE [INFO]: ✨ Done in 45.46s [INFO]: 📦 Your wasm pkg is ready to publish at /home/runner/work/polyglot/polyglot/apps/spiral/temp/extension/pkg. ▲ [WARNING] "import.meta" is not available with the "iife" output format and will be empty [empty-import-meta] pkg/spiral_temp_extension.js:1504:57: 1504 │ ...put = new URL('spiral_temp_extension_bg.wasm', import.meta.url); ╵ ~~~~~~~~~~~ You need to set the output format to "esm" for "import.meta" to work correctly. 1 warning dist/spiral_temp_extension_bg-NGOBI43P.wasm 4.5mb ⚠️ dist/devtools.js 29.0kb dist/content_script.js 27.4kb dist/service_worker.js 2.2kb ⚡ Done in 36ms $ playwright test [WebServer] npm WARN [WebServer] exec The following package was not found and will be installed: serve@14.2.3 [WebServer] (node:156040) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) Running 3 tests using 2 workers ··· 3 passed (11.0s)
In [ ]:
{ pwsh ../apps/spiral/temp/test/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 debug #1 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64",
[||], Some <fun:main@491-7>, None, true,
Some "/home/runner/work/polyglot/polyglot")
00:00:00 verbose #2 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot
00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release
00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval
00:00:00 verbose #3 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: True
00:00:00 verbose #4 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #6 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #7 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #8 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #9 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #10 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #11 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #12 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #13 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #14 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #15 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #16 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #17 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #18 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #19 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #20 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #21 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #22 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #23 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #24 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #25 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #26 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #27 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #28 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #29 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #30 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #31 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805
00:00:00 verbose #32 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #33 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:00 verbose #34 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result:
00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0
00:00:01 verbose #6 > Server bound to: http://localhost:13805
00:00:01 debug #7 execute_with_options_async / options: struct (Some System.Threading.CancellationToken,
"../../../../workspace/target/release/spiral_builder dib --path build.dib",
[||], None, None, true, None)
00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / args: MutCell(["dib", "--path", "build.dib"])
00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb"] / options: (None, "dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb"", Array(MutCell([("AUTOMATION", "True")])), None, None, false, None)
00:00:02 verbose #10 > >
00:00:02 verbose #11 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #13 > > │ # test │
00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #15 > >
00:00:02 verbose #16 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #17 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #18 > > │ ## include scripts │
00:00:02 verbose #19 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #20 > >
00:00:02 verbose #21 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:02 verbose #22 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:02 verbose #23 > > │ ### include notebook core │
00:00:02 verbose #24 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:02 verbose #25 > >
00:00:02 verbose #26 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:02 verbose #27 > > . ../../../../scripts/nbs_header.ps1
00:00:03 verbose #28 > >
00:00:03 verbose #29 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 verbose #30 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 verbose #31 > > │ ### Include core functions script │
00:00:03 verbose #32 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:03 verbose #33 > >
00:00:03 verbose #34 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:03 verbose #35 > > . ../../../../scripts/core.ps1
00:00:03 verbose #36 > >
00:00:03 verbose #37 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 verbose #38 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 verbose #39 > > │ ### Include spiral library │
00:00:03 verbose #40 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:03 verbose #41 > >
00:00:03 verbose #42 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:03 verbose #43 > > . ../../../../lib/spiral/lib.ps1
00:00:03 verbose #44 > >
00:00:03 verbose #45 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 verbose #46 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 verbose #47 > > │ ## execute project commands │
00:00:03 verbose #48 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:03 verbose #49 > >
00:00:03 verbose #50 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:03 verbose #51 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:03 verbose #52 > > │ ### run notebook with retries using spiral supervisor │
00:00:03 verbose #53 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:03 verbose #54 > >
00:00:03 verbose #55 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:03 verbose #56 > > { . ../../../../apps/spiral/dist/Supervisor$(_exe) --execute-command
00:00:03 verbose #57 > > "../../../../workspace/target/release/spiral_builder$(_exe) dib --path test.dib
00:00:03 verbose #58 > > --retries 3" } | Invoke-Block
00:00:08 verbose #59 > 00:00:08 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/a4433f38c9f8fa74206a51c6784f5c5880ac35a5f3330eec92a102b94b2d7d72/main.spi
00:00:13 verbose #60 > 00:00:13 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/e548ec33f42f73ee89c67c6d2a1ef7a836fc8d40ecb78de5316eeda721f3fd00/main.spi
00:00:13 verbose #61 > 00:00:13 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/polyglot/spiral_eval/packages/6a5b0dc6893d02610ff983901642ade269204326dddb8deea7bf732636507452/main.spi
00:00:13 verbose #62 > <test>
00:00:13 verbose #63 > </test>
00:00:15 verbose #64 > >
00:00:15 verbose #65 > > ╭─[ 12.45s - stdout ]──────────────────────────────────────────────────────────╮
00:00:15 verbose #66 > > │ 00:00:00 verbose #1 networking.test_port_open / port: 13806 / ex: │
00:00:15 verbose #67 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:00:15 verbose #68 > > │ 00:00:00 debug #1 execute_with_options_async / options: struct (Some │
00:00:15 verbose #69 > > │ System.Threading.CancellationToken, │
00:00:15 verbose #70 > > │ "../../../../workspace/target/release/spiral_builder dib --path │
00:00:15 verbose #71 > > │ test.dib --retries 3", │
00:00:15 verbose #72 > > │ [||], None, None, true, None) │
00:00:15 verbose #73 > > │ 00:00:00 verbose #2 > 00:00:00 debug #1 spiral_builder.main / args: │
00:00:15 verbose #74 > > │ MutCell(["dib", "--path", "test.dib", "--retries", "3"]) │
00:00:15 verbose #75 > > │ 00:00:00 verbose #3 > 00:00:00 debug #2 runtime.execute_with_options │
00:00:15 verbose #76 > > │ / file_name: dotnet / arguments: ["repl", "--exit-after-run", "--run", │
00:00:15 verbose #77 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib", │
00:00:15 verbose #78 > > │ "--output-path", │
00:00:15 verbose #79 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb"] │
00:00:15 verbose #80 > > │ / options: (None, "dotnet repl --exit-after-run --run │
00:00:15 verbose #81 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib" │
00:00:15 verbose #82 > > │ --output-path │
00:00:15 verbose #83 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb"", │
00:00:15 verbose #84 > > │ Array(MutCell([("AUTOMATION", "True")])), None, None, false, None) │
00:00:15 verbose #85 > > │ 00:00:02 verbose #4 > > │
00:00:15 verbose #86 > > │ 00:00:02 verbose #5 > > ── markdown │
00:00:15 verbose #87 > > │ ──────────────────────────────────────────────────────────────────── │
00:00:15 verbose #88 > > │ 00:00:02 verbose #6 > > 38;5;2m│
00:00:15 verbose #89 > > │ 38;5;103m╭────────────────────────────────────────────────────────────────── │
00:00:15 verbose #90 > > │ ────────────╮ │
00:00:15 verbose #91 > > │ 00:00:02 verbose #7 > > │ # test (Polyglot) │
00:00:15 verbose #92 > > │ │ │
00:00:15 verbose #93 > > │ 00:00:02 verbose #8 > > 38;5;2m│
00:00:15 verbose #94 > > │ 38;5;103m╰────────────────────────────────────────────────────────────────── │
00:00:15 verbose #95 > > │ ────────────╯ │
00:00:15 verbose #96 > > │ 00:00:02 verbose #9 > > │
00:00:15 verbose #97 > > │ 00:00:02 verbose #10 > > ── spiral │
00:00:15 verbose #98 > > │ ────────────────────────────────────────────────────────────────────── │
00:00:15 verbose #99 > > │ 00:00:02 verbose #11 > > //// test │
00:00:15 verbose #100 > > │ 00:00:02 verbose #12 > > │
00:00:15 verbose #101 > > │ 00:00:02 verbose #13 > > open testing │
00:00:15 verbose #102 > > │ 00:00:02 verbose #14 > > │
00:00:15 verbose #103 > > │ 00:00:02 verbose #15 > > ── spiral - import │
00:00:15 verbose #104 > > │ ───────────────────────────────────────────────────────────── │
00:00:15 verbose #105 > > │ 00:00:02 verbose #16 > > #r │
00:00:15 verbose #106 > > │ 00:00:02 verbose #17 > > │
00:00:15 verbose #107 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #108 > > │ .Dot │
00:00:15 verbose #109 > > │ 00:00:02 verbose #18 > > Net.Interactive.Spiral.dll" │
00:00:15 verbose #110 > > │ 00:00:02 verbose #19 > > open │
00:00:15 verbose #111 > > │ Microsoft.DotNet.Interactive.Spiral.SpiralKernelHelpers │
00:00:15 verbose #112 > > │ 00:00:02 verbose #20 > > #r │
00:00:15 verbose #113 > > │ 00:00:02 verbose #21 > > │
00:00:15 verbose #114 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #115 > > │ .Dot │
00:00:15 verbose #116 > > │ 00:00:02 verbose #22 > > Net.Interactive.dll" │
00:00:15 verbose #117 > > │ 00:00:02 verbose #23 > > open type Microsoft.DotNet.Interactive.Kernel │
00:00:15 verbose #118 > > │ 00:00:04 verbose #24 > > │
00:00:15 verbose #119 > > │ 00:00:04 verbose #25 > > ── spiral │
00:00:15 verbose #120 > > │ ────────────────────────────────────────────────────────────────────── │
00:00:15 verbose #121 > > │ 00:00:04 verbose #26 > > nominal i = () │
00:00:15 verbose #122 > > │ 00:00:04 verbose #27 > > nominal e = () │
00:00:15 verbose #123 > > │ 00:00:04 verbose #28 > > nominal s = () │
00:00:15 verbose #124 > > │ 00:00:04 verbose #29 > > nominal n = () │
00:00:15 verbose #125 > > │ 00:00:04 verbose #30 > > nominal t = () │
00:00:15 verbose #126 > > │ 00:00:04 verbose #31 > > nominal f = () │
00:00:15 verbose #127 > > │ 00:00:04 verbose #32 > > nominal j = () │
00:00:15 verbose #128 > > │ 00:00:04 verbose #33 > > nominal p = () │
00:00:15 verbose #129 > > │ 00:00:04 verbose #34 > > │
00:00:15 verbose #130 > > │ 00:00:04 verbose #35 > > union sensing = │
00:00:15 verbose #131 > > │ 00:00:04 verbose #36 > > | Si : s * i │
00:00:15 verbose #132 > > │ 00:00:04 verbose #37 > > | Se : s * e │
00:00:15 verbose #133 > > │ 00:00:04 verbose #38 > > │
00:00:15 verbose #134 > > │ 00:00:04 verbose #39 > > union intuition = │
00:00:15 verbose #135 > > │ 00:00:04 verbose #40 > > | Ni : n * i │
00:00:15 verbose #136 > > │ 00:00:04 verbose #41 > > | Ne : n * e │
00:00:15 verbose #137 > > │ 00:00:04 verbose #42 > > │
00:00:15 verbose #138 > > │ 00:00:04 verbose #43 > > union thinking = │
00:00:15 verbose #139 > > │ 00:00:04 verbose #44 > > | Ti : t * i │
00:00:15 verbose #140 > > │ 00:00:04 verbose #45 > > | Te : t * e │
00:00:15 verbose #141 > > │ 00:00:04 verbose #46 > > │
00:00:15 verbose #142 > > │ 00:00:04 verbose #47 > > union feeling = │
00:00:15 verbose #143 > > │ 00:00:04 verbose #48 > > | Fi : f * i │
00:00:15 verbose #144 > > │ 00:00:04 verbose #49 > > | Fe : f * e │
00:00:15 verbose #145 > > │ 00:00:04 verbose #50 > > │
00:00:15 verbose #146 > > │ 00:00:04 verbose #51 > > union function_stack = │
00:00:15 verbose #147 > > │ 00:00:04 verbose #52 > > | FS : sensing * intuition * thinking * feeling │
00:00:15 verbose #148 > > │ 00:00:04 verbose #53 > > │
00:00:15 verbose #149 > > │ 00:00:04 verbose #54 > > union personality_type = │
00:00:15 verbose #150 > > │ 00:00:04 verbose #55 > > | ISTJ : i * s * t * j * function_stack │
00:00:15 verbose #151 > > │ 00:00:04 verbose #56 > > | ISFJ : i * s * f * j * function_stack │
00:00:15 verbose #152 > > │ 00:00:04 verbose #57 > > | INFJ : i * n * f * j * function_stack │
00:00:15 verbose #153 > > │ 00:00:04 verbose #58 > > | INTJ : i * n * t * j * function_stack │
00:00:15 verbose #154 > > │ 00:00:04 verbose #59 > > | ISTP : i * s * t * p * function_stack │
00:00:15 verbose #155 > > │ 00:00:04 verbose #60 > > | ISFP : i * s * f * p * function_stack │
00:00:15 verbose #156 > > │ 00:00:04 verbose #61 > > | INFP : i * n * f * p * function_stack │
00:00:15 verbose #157 > > │ 00:00:04 verbose #62 > > | INTP : i * n * t * p * function_stack │
00:00:15 verbose #158 > > │ 00:00:04 verbose #63 > > | ESTP : e * s * t * p * function_stack │
00:00:15 verbose #159 > > │ 00:00:04 verbose #64 > > | ESFP : e * s * f * p * function_stack │
00:00:15 verbose #160 > > │ 00:00:04 verbose #65 > > | ENFP : e * n * f * p * function_stack │
00:00:15 verbose #161 > > │ 00:00:04 verbose #66 > > | ENTP : e * n * t * p * function_stack │
00:00:15 verbose #162 > > │ 00:00:04 verbose #67 > > | ESTJ : e * s * t * j * function_stack │
00:00:15 verbose #163 > > │ 00:00:04 verbose #68 > > | ESFJ : e * s * f * j * function_stack │
00:00:15 verbose #164 > > │ 00:00:04 verbose #69 > > | ENFJ : e * n * f * j * function_stack │
00:00:15 verbose #165 > > │ 00:00:04 verbose #70 > > | ENTJ : e * n * t * j * function_stack │
00:00:15 verbose #166 > > │ 00:00:04 verbose #71 > > │
00:00:15 verbose #167 > > │ 00:00:04 verbose #72 > > │
00:00:15 verbose #168 > > │ 00:00:04 verbose #73 > > inl main () = │
00:00:15 verbose #169 > > │ 00:00:04 verbose #74 > > inl istj_stack = FS ((Si (s, i)), Ne (n, e), │
00:00:15 verbose #170 > > │ (Te (t, e)), (Fi (f, i))) │
00:00:15 verbose #171 > > │ 00:00:04 verbose #75 > > inl istj_personality = ISTJ (i, s, t, j, │
00:00:15 verbose #172 > > │ istj_stack) │
00:00:15 verbose #173 > > │ 00:00:04 verbose #76 > > // inl isfj_stack = FS ((Si (s, i)), Ne (n, e), │
00:00:15 verbose #174 > > │ (Fe (f, e)), (Ti (t, i))) │
00:00:15 verbose #175 > > │ 00:00:04 verbose #77 > > // inl isfj_personality = ISFJ (i, s, f, j, │
00:00:15 verbose #176 > > │ isfj_stack) │
00:00:15 verbose #177 > > │ 00:00:04 verbose #78 > > │
00:00:15 verbose #178 > > │ 00:00:04 verbose #79 > > ;[[ │
00:00:15 verbose #179 > > │ 00:00:04 verbose #80 > > istj_personality │
00:00:15 verbose #180 > > │ 00:00:04 verbose #81 > > ]] │
00:00:15 verbose #181 > > │ 00:00:04 verbose #82 > > |> fun x => $'$"%A{!x}"' : string │
00:00:15 verbose #182 > > │ 00:00:04 verbose #83 > > |> console.write_line │
00:00:15 verbose #183 > > │ 00:00:04 verbose #84 > > │
00:00:15 verbose #184 > > │ 00:00:04 verbose #85 > > inl main () = │
00:00:15 verbose #185 > > │ 00:00:04 verbose #86 > > $"!main ()" : () │
00:00:15 verbose #186 > > │ 00:00:08 verbose #87 > > │
00:00:15 verbose #187 > > │ 00:00:08 verbose #88 > > ╭─[ 3.73s - stdout │
00:00:15 verbose #188 > > │ ]───────────────────────────────────────────────────────────╮ │
00:00:15 verbose #189 > > │ 00:00:08 verbose #89 > > │ [|US5_0 (US4_0 (US0_0, US1_1, US2_1, │
00:00:15 verbose #190 > > │ US3_0))|] │ │
00:00:15 verbose #191 > > │ 00:00:08 verbose #90 > > │ │
00:00:15 verbose #192 > > │ │
00:00:15 verbose #193 > > │ │ │
00:00:15 verbose #194 > > │ 00:00:08 verbose #91 > > 38;5;2m│
00:00:15 verbose #195 > > │ 38;5;2m╰──────────────────────────────────────────────────────────────────── │
00:00:15 verbose #196 > > │ ──────────╯ │
00:00:15 verbose #197 > > │ 00:00:08 verbose #92 > > │
00:00:15 verbose #198 > > │ 00:00:08 verbose #93 > > ── fsharp │
00:00:15 verbose #199 > > │ ────────────────────────────────────────────────────────────────────── │
00:00:15 verbose #200 > > │ 00:00:08 verbose #94 > > type PhonologicalFeature = │
00:00:15 verbose #201 > > │ 00:00:08 verbose #95 > > | VowelFeature of │
00:00:15 verbose #202 > > │ 00:00:08 verbose #96 > > height: Height │
00:00:15 verbose #203 > > │ 00:00:08 verbose #97 > > * backness: Backness │
00:00:15 verbose #204 > > │ 00:00:08 verbose #98 > > * roundedness: Roundedness │
00:00:15 verbose #205 > > │ 00:00:08 verbose #99 > > * tone: Option<Tone> │
00:00:15 verbose #206 > > │ 00:00:08 verbose #100 > > * stress: Option<Stress> │
00:00:15 verbose #207 > > │ 00:00:08 verbose #101 > > * length: Option<Length> │
00:00:15 verbose #208 > > │ 00:00:08 verbose #102 > > | ConsonantFeature of │
00:00:15 verbose #209 > > │ 00:00:08 verbose #103 > > place: PlaceOfArticulation │
00:00:15 verbose #210 > > │ 00:00:08 verbose #104 > > * manner: MannerOfArticulation │
00:00:15 verbose #211 > > │ 00:00:08 verbose #105 > > * voicing: Voicing │
00:00:15 verbose #212 > > │ 00:00:08 verbose #106 > > * length: Option<Length> │
00:00:15 verbose #213 > > │ 00:00:08 verbose #107 > > | VowelHarmonyFeature │
00:00:15 verbose #214 > > │ 00:00:08 verbose #108 > > | PitchAccentFeature │
00:00:15 verbose #215 > > │ 00:00:08 verbose #109 > > │
00:00:15 verbose #216 > > │ 00:00:08 verbose #110 > > and Stress = Primary | Secondary │
00:00:15 verbose #217 > > │ 00:00:08 verbose #111 > > and Length = Long | Short | HalfLong │
00:00:15 verbose #218 > > │ 00:00:08 verbose #112 > > │
00:00:15 verbose #219 > > │ 00:00:08 verbose #113 > > and Height = │
00:00:15 verbose #220 > > │ 00:00:08 verbose #114 > > | High | NearHigh | HighMid │
00:00:15 verbose #221 > > │ 00:00:08 verbose #115 > > | Mid | LowMid | NearLow │
00:00:15 verbose #222 > > │ 00:00:08 verbose #116 > > | Low │
00:00:15 verbose #223 > > │ 00:00:08 verbose #117 > > │
00:00:15 verbose #224 > > │ 00:00:08 verbose #118 > > and Backness = Front | Central | Back │
00:00:15 verbose #225 > > │ 00:00:08 verbose #119 > > │
00:00:15 verbose #226 > > │ 00:00:08 verbose #120 > > and Roundedness = Rounded | Unrounded │
00:00:15 verbose #227 > > │ 00:00:08 verbose #121 > > │
00:00:15 verbose #228 > > │ 00:00:08 verbose #122 > > and PlaceOfArticulation = │
00:00:15 verbose #229 > > │ 00:00:08 verbose #123 > > | Bilabial | Labiodental | Dental │
00:00:15 verbose #230 > > │ 00:00:08 verbose #124 > > | Alveolar | Postalveolar | Retroflex │
00:00:15 verbose #231 > > │ 00:00:08 verbose #125 > > | Palatal | Velar | Uvular │
00:00:15 verbose #232 > > │ 00:00:08 verbose #126 > > | Pharyngeal | Epiglottal | Glottal │
00:00:15 verbose #233 > > │ 00:00:08 verbose #127 > > │
00:00:15 verbose #234 > > │ 00:00:08 verbose #128 > > and MannerOfArticulation = │
00:00:15 verbose #235 > > │ 00:00:08 verbose #129 > > | Plosive | Nasal | Trill │
00:00:15 verbose #236 > > │ 00:00:08 verbose #130 > > | TapOrFlap | Fricative | LateralFricative │
00:00:15 verbose #237 > > │ 00:00:08 verbose #131 > > | Approximant | LateralApproximant │
00:00:15 verbose #238 > > │ 00:00:08 verbose #132 > > │
00:00:15 verbose #239 > > │ 00:00:08 verbose #133 > > and Voicing = Voiced | Voiceless │
00:00:15 verbose #240 > > │ 00:00:08 verbose #134 > > │
00:00:15 verbose #241 > > │ 00:00:08 verbose #135 > > and SecondaryArticulation = │
00:00:15 verbose #242 > > │ 00:00:08 verbose #136 > > | Labialization | Palatalization | │
00:00:15 verbose #243 > > │ Velarization │
00:00:15 verbose #244 > > │ 00:00:08 verbose #137 > > | Pharyngealization | Aspiration │
00:00:15 verbose #245 > > │ 00:00:08 verbose #138 > > │
00:00:15 verbose #246 > > │ 00:00:08 verbose #139 > > and Tone = │
00:00:15 verbose #247 > > │ 00:00:08 verbose #140 > > | LevelTone of int │
00:00:15 verbose #248 > > │ 00:00:08 verbose #141 > > | ContourTone of int list │
00:00:15 verbose #249 > > │ 00:00:08 verbose #142 > > │
00:00:15 verbose #250 > > │ 00:00:08 verbose #143 > > and MorphologicalFeature = │
00:00:15 verbose #251 > > │ 00:00:08 verbose #144 > > | RootFeature of string │
00:00:15 verbose #252 > > │ 00:00:08 verbose #145 > > | AffixFeature of AffixType * string │
00:00:15 verbose #253 > > │ 00:00:08 verbose #146 > > | IncorporationFeature of string * │
00:00:15 verbose #254 > > │ MorphologicalFeature │
00:00:15 verbose #255 > > │ 00:00:08 verbose #147 > > | NonConcatenativePattern of string * string │
00:00:15 verbose #256 > > │ 00:00:08 verbose #148 > > | AgglutinativeAffixFeature of │
00:00:15 verbose #257 > > │ AgglutinativeAffixType * string │
00:00:15 verbose #258 > > │ 00:00:08 verbose #149 > > | HonorificFeature of HonorificType * string │
00:00:15 verbose #259 > > │ 00:00:08 verbose #150 > > │
00:00:15 verbose #260 > > │ 00:00:08 verbose #151 > > and AgglutinativeAffixType = Suffix | Prefix │
00:00:15 verbose #261 > > │ 00:00:08 verbose #152 > > │
00:00:15 verbose #262 > > │ 00:00:08 verbose #153 > > and HonorificType = VerbHonorific | NounHonorific │
00:00:15 verbose #263 > > │ 00:00:08 verbose #154 > > │
00:00:15 verbose #264 > > │ 00:00:08 verbose #155 > > and AffixType = │
00:00:15 verbose #265 > > │ 00:00:08 verbose #156 > > | Prefix | Suffix | Infix │
00:00:15 verbose #266 > > │ 00:00:08 verbose #157 > > | Circumfix │
00:00:15 verbose #267 > > │ 00:00:08 verbose #158 > > │
00:00:15 verbose #268 > > │ 00:00:08 verbose #159 > > type SyntacticFeature = │
00:00:15 verbose #269 > > │ 00:00:08 verbose #160 > > | WordFeature of MorphologicalFeature list * │
00:00:15 verbose #270 > > │ LexicalCategory │
00:00:15 verbose #271 > > │ 00:00:08 verbose #161 > > | PhraseFeature of PhraseType * │
00:00:15 verbose #272 > > │ SyntacticFeature list │
00:00:15 verbose #273 > > │ 00:00:08 verbose #162 > > | GrammaticalRelation of │
00:00:15 verbose #274 > > │ GrammaticalRelationType * SyntacticFeature list │
00:00:15 verbose #275 > > │ 00:00:08 verbose #163 > > | SOVOrderFeature │
00:00:15 verbose #276 > > │ 00:00:08 verbose #164 > > | TopicCommentFeature │
00:00:15 verbose #277 > > │ 00:00:08 verbose #165 > > │
00:00:15 verbose #278 > > │ 00:00:08 verbose #166 > > and GrammaticalRelationType = │
00:00:15 verbose #279 > > │ 00:00:08 verbose #167 > > | Ergative | Absolutive | Nominative │
00:00:15 verbose #280 > > │ 00:00:08 verbose #168 > > | Accusative │
00:00:15 verbose #281 > > │ 00:00:08 verbose #169 > > │
00:00:15 verbose #282 > > │ 00:00:08 verbose #170 > > and LexicalCategory = │
00:00:15 verbose #283 > > │ 00:00:08 verbose #171 > > | Noun | Verb | Adjective │
00:00:15 verbose #284 > > │ 00:00:08 verbose #172 > > | Adverb | Pronoun | Preposition │
00:00:15 verbose #285 > > │ 00:00:08 verbose #173 > > | Conjunction | Determiner | Interjection │
00:00:15 verbose #286 > > │ 00:00:08 verbose #174 > > │
00:00:15 verbose #287 > > │ 00:00:08 verbose #175 > > and PhraseType = │
00:00:15 verbose #288 > > │ 00:00:08 verbose #176 > > | NP | VP | AP │
00:00:15 verbose #289 > > │ 00:00:08 verbose #177 > > | PP | CP │
00:00:15 verbose #290 > > │ 00:00:08 verbose #178 > > │
00:00:15 verbose #291 > > │ 00:00:08 verbose #179 > > and SemanticFeature = │
00:00:15 verbose #292 > > │ 00:00:08 verbose #180 > > | Meaning of string │
00:00:15 verbose #293 > > │ 00:00:08 verbose #181 > > | SemanticRole of SemanticRoleType * │
00:00:15 verbose #294 > > │ SemanticFeature │
00:00:15 verbose #295 > > │ 00:00:08 verbose #182 > > │
00:00:15 verbose #296 > > │ 00:00:08 verbose #183 > > and SemanticRoleType = │
00:00:15 verbose #297 > > │ 00:00:08 verbose #184 > > | Agent | Patient | Instrument │
00:00:15 verbose #298 > > │ 00:00:08 verbose #185 > > | Location | Time | Cause │
00:00:15 verbose #299 > > │ 00:00:08 verbose #186 > > │
00:00:15 verbose #300 > > │ 00:00:08 verbose #187 > > and PragmaticFeature = │
00:00:15 verbose #301 > > │ 00:00:08 verbose #188 > > | UseContext of string │
00:00:15 verbose #302 > > │ 00:00:08 verbose #189 > > | PolitenessLevel of Politeness │
00:00:15 verbose #303 > > │ 00:00:08 verbose #190 > > | SpeechAct of SpeechActType │
00:00:15 verbose #304 > > │ 00:00:08 verbose #191 > > | SpeechLevel of SpeechLevelType │
00:00:15 verbose #305 > > │ 00:00:08 verbose #192 > > │
00:00:15 verbose #306 > > │ 00:00:08 verbose #193 > > and Politeness = Formal | Informal | Neutral │
00:00:15 verbose #307 > > │ 00:00:08 verbose #194 > > │
00:00:15 verbose #308 > > │ 00:00:08 verbose #195 > > and SpeechActType = │
00:00:15 verbose #309 > > │ 00:00:08 verbose #196 > > | Assertive | Directive | Commissive │
00:00:15 verbose #310 > > │ 00:00:08 verbose #197 > > | Expressive | Declarative │
00:00:15 verbose #311 > > │ 00:00:08 verbose #198 > > │
00:00:15 verbose #312 > > │ 00:00:08 verbose #199 > > and SpeechLevelType = │
00:00:15 verbose #313 > > │ 00:00:08 verbose #200 > > | FormalHigh | FormalLow | InformalHigh │
00:00:15 verbose #314 > > │ 00:00:08 verbose #201 > > | InformalLow | Neutral │
00:00:15 verbose #315 > > │ 00:00:08 verbose #202 > > │
00:00:15 verbose #316 > > │ 00:00:08 verbose #203 > > type LinguisticFeature = │
00:00:15 verbose #317 > > │ 00:00:08 verbose #204 > > | Phonological of PhonologicalFeature │
00:00:15 verbose #318 > > │ 00:00:08 verbose #205 > > | Morphological of MorphologicalFeature │
00:00:15 verbose #319 > > │ 00:00:08 verbose #206 > > | Syntactic of SyntacticFeature │
00:00:15 verbose #320 > > │ 00:00:08 verbose #207 > > | Semantic of SemanticFeature │
00:00:15 verbose #321 > > │ 00:00:08 verbose #208 > > | Pragmatic of PragmaticFeature │
00:00:15 verbose #322 > > │ 00:00:08 verbose #209 > > │
00:00:15 verbose #323 > > │ 00:00:08 verbose #210 > > type LanguageConstruct = │
00:00:15 verbose #324 > > │ 00:00:08 verbose #211 > > | LanguageElement of LinguisticFeature │
00:00:15 verbose #325 > > │ 00:00:08 verbose #212 > > | LanguageStructure of LanguageConstruct list │
00:00:15 verbose #326 > > │ 00:00:08 verbose #213 > > | TranslationElement of TranslationFeature │
00:00:15 verbose #327 > > │ 00:00:08 verbose #214 > > │
00:00:15 verbose #328 > > │ 00:00:08 verbose #215 > > and TranslationFeature = │
00:00:15 verbose #329 > > │ 00:00:08 verbose #216 > > | LinkedPhonological of PhonologicalFeature * │
00:00:15 verbose #330 > > │ PhonologicalFeature │
00:00:15 verbose #331 > > │ 00:00:08 verbose #217 > > | LinkedMorphological of MorphologicalFeature │
00:00:15 verbose #332 > > │ * MorphologicalFeature │
00:00:15 verbose #333 > > │ 00:00:08 verbose #218 > > | LinkedSyntactic of SyntacticFeature * │
00:00:15 verbose #334 > > │ SyntacticFeature │
00:00:15 verbose #335 > > │ 00:00:08 verbose #219 > > | LinkedSemantic of SemanticFeature * │
00:00:15 verbose #336 > > │ SemanticFeature │
00:00:15 verbose #337 > > │ 00:00:08 verbose #220 > > │
00:00:15 verbose #338 > > │ 00:00:08 verbose #221 > > type Discourse = DiscourseUnit of │
00:00:15 verbose #339 > > │ LanguageConstruct list │
00:00:15 verbose #340 > > │ 00:00:08 verbose #222 > > │
00:00:15 verbose #341 > > │ 00:00:08 verbose #223 > > type LanguageModel = │
00:00:15 verbose #342 > > │ 00:00:08 verbose #224 > > | Model of discourse: Discourse │
00:00:15 verbose #343 > > │ 00:00:08 verbose #225 > > │
00:00:15 verbose #344 > > │ 00:00:08 verbose #226 > > ── fsharp - import │
00:00:15 verbose #345 > > │ ───────────────────────────────────────────────────────────── │
00:00:15 verbose #346 > > │ 00:00:08 verbose #227 > > #r │
00:00:15 verbose #347 > > │ 00:00:08 verbose #228 > > │
00:00:15 verbose #348 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #349 > > │ .Asp │
00:00:15 verbose #350 > > │ 00:00:08 verbose #229 > > NetCore.Html.Abstractions.dll" │
00:00:15 verbose #351 > > │ 00:00:08 verbose #230 > > #r │
00:00:15 verbose #352 > > │ 00:00:08 verbose #231 > > │
00:00:15 verbose #353 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #354 > > │ .Dot │
00:00:15 verbose #355 > > │ 00:00:08 verbose #232 > > Net.Interactive.dll" │
00:00:15 verbose #356 > > │ 00:00:08 verbose #233 > > #r │
00:00:15 verbose #357 > > │ 00:00:08 verbose #234 > > │
00:00:15 verbose #358 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #359 > > │ .Dot │
00:00:15 verbose #360 > > │ 00:00:08 verbose #235 > > Net.Interactive.FSharp.dll" │
00:00:15 verbose #361 > > │ 00:00:08 verbose #236 > > #r │
00:00:15 verbose #362 > > │ 00:00:08 verbose #237 > > │
00:00:15 verbose #363 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #364 > > │ .Dot │
00:00:15 verbose #365 > > │ 00:00:08 verbose #238 > > Net.Interactive.Formatting.dll" │
00:00:15 verbose #366 > > │ 00:00:08 verbose #239 > > open System │
00:00:15 verbose #367 > > │ 00:00:08 verbose #240 > > open System.IO │
00:00:15 verbose #368 > > │ 00:00:08 verbose #241 > > open System.Text │
00:00:15 verbose #369 > > │ 00:00:08 verbose #242 > > open Microsoft.DotNet.Interactive.Formatting │
00:00:15 verbose #370 > > │ 00:00:09 verbose #243 > > │
00:00:15 verbose #371 > > │ 00:00:09 verbose #244 > > ── fsharp - import │
00:00:15 verbose #372 > > │ ───────────────────────────────────────────────────────────── │
00:00:15 verbose #373 > > │ 00:00:09 verbose #245 > > #r │
00:00:15 verbose #374 > > │ 00:00:09 verbose #246 > > │
00:00:15 verbose #375 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #376 > > │ .Dot │
00:00:15 verbose #377 > > │ 00:00:09 verbose #247 > > Net.Interactive.FSharp.dll" │
00:00:15 verbose #378 > > │ 00:00:09 verbose #248 > > open │
00:00:15 verbose #379 > > │ Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers │
00:00:15 verbose #380 > > │ 00:00:09 verbose #249 > > #r │
00:00:15 verbose #381 > > │ 00:00:09 verbose #250 > > │
00:00:15 verbose #382 > > │ "/home/runner/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft │
00:00:15 verbose #383 > > │ .Dot │
00:00:15 verbose #384 > > │ 00:00:09 verbose #251 > > Net.Interactive.dll" │
00:00:15 verbose #385 > > │ 00:00:09 verbose #252 > > open type Microsoft.DotNet.Interactive.Kernel │
00:00:15 verbose #386 > > │ 00:00:09 verbose #253 > > │
00:00:15 verbose #387 > > │ 00:00:09 verbose #254 > > ── fsharp - import │
00:00:15 verbose #388 > > │ ───────────────────────────────────────────────────────────── │
00:00:15 verbose #389 > > │ 00:00:09 verbose #255 > > Formatter.Register(fun(x: obj)(writer: │
00:00:15 verbose #390 > > │ TextWriter)->fprintfn writer "%120A" x) │
00:00:15 verbose #391 > > │ 00:00:09 verbose #256 > > │
00:00:15 verbose #392 > > │ 00:00:09 verbose #257 > > ── fsharp - import │
00:00:15 verbose #393 > > │ ───────────────────────────────────────────────────────────── │
00:00:15 verbose #394 > > │ 00:00:09 verbose #258 > > Formatter.Register(fun(x: │
00:00:15 verbose #395 > > │ System.Collections.IEnumerable)(writer: │
00:00:15 verbose #396 > > │ 00:00:09 verbose #259 > > TextWriter)->fprintfn writer "%120A" x) │
00:00:15 verbose #397 > > │ 00:00:09 verbose #260 > > │
00:00:15 verbose #398 > > │ 00:00:09 verbose #261 > > ── fsharp - import │
00:00:15 verbose #399 > > │ ───────────────────────────────────────────────────────────── │
00:00:15 verbose #400 > > │ 00:00:09 verbose #262 > > type PhonologicalFeature = │
00:00:15 verbose #401 > > │ 00:00:09 verbose #263 > > | VowelFeature of │
00:00:15 verbose #402 > > │ 00:00:09 verbose #264 > > height: Height │
00:00:15 verbose #403 > > │ 00:00:09 verbose #265 > > * backness: Backness │
00:00:15 verbose #404 > > │ 00:00:09 verbose #266 > > * roundedness: Roundedness │
00:00:15 verbose #405 > > │ 00:00:09 verbose #267 > > * tone: Option<Tone> │
00:00:15 verbose #406 > > │ 00:00:09 verbose #268 > > * stress: Option<Stress> │
00:00:15 verbose #407 > > │ 00:00:09 verbose #269 > > * length: Option<Length> │
00:00:15 verbose #408 > > │ 00:00:09 verbose #270 > > | ConsonantFeature of │
00:00:15 verbose #409 > > │ 00:00:09 verbose #271 > > place: PlaceOfArticulation │
00:00:15 verbose #410 > > │ 00:00:09 verbose #272 > > * manner: MannerOfArticulation │
00:00:15 verbose #411 > > │ 00:00:09 verbose #273 > > * voicing: Voicing │
00:00:15 verbose #412 > > │ 00:00:09 verbose #274 > > * length: Option<Length> │
00:00:15 verbose #413 > > │ 00:00:09 verbose #275 > > | VowelHarmonyFeature │
00:00:15 verbose #414 > > │ 00:00:09 verbose #276 > > | PitchAccentFeature │
00:00:15 verbose #415 > > │ 00:00:09 verbose #277 > > │
00:00:15 verbose #416 > > │ 00:00:09 verbose #278 > > and Stress = Primary | Secondary │
00:00:15 verbose #417 > > │ 00:00:09 verbose #279 > > and Length = Long | Short | HalfLong │
00:00:15 verbose #418 > > │ 00:00:09 verbose #280 > > │
00:00:15 verbose #419 > > │ 00:00:09 verbose #281 > > and Height = │
00:00:15 verbose #420 > > │ 00:00:09 verbose #282 > > | High | NearHigh | HighMid │
00:00:15 verbose #421 > > │ 00:00:09 verbose #283 > > | Mid | LowMid | NearLow │
00:00:15 verbose #422 > > │ 00:00:09 verbose #284 > > | Low │
00:00:15 verbose #423 > > │ 00:00:09 verbose #285 > > │
00:00:15 verbose #424 > > │ 00:00:09 verbose #286 > > and Backness = Front | Central | Back │
00:00:15 verbose #425 > > │ 00:00:09 verbose #287 > > │
00:00:15 verbose #426 > > │ 00:00:09 verbose #288 > > and Roundedness = Rounded | Unrounded │
00:00:15 verbose #427 > > │ 00:00:09 verbose #289 > > │
00:00:15 verbose #428 > > │ 00:00:09 verbose #290 > > and PlaceOfArticulation = │
00:00:15 verbose #429 > > │ 00:00:09 verbose #291 > > | Bilabial | Labiodental | Dental │
00:00:15 verbose #430 > > │ 00:00:09 verbose #292 > > | Alveolar | Postalveolar | Retroflex │
00:00:15 verbose #431 > > │ 00:00:09 verbose #293 > > | Palatal | Velar | Uvular │
00:00:15 verbose #432 > > │ 00:00:09 verbose #294 > > | Pharyngeal | Epiglottal | Glottal │
00:00:15 verbose #433 > > │ 00:00:09 verbose #295 > > │
00:00:15 verbose #434 > > │ 00:00:09 verbose #296 > > and MannerOfArticulation = │
00:00:15 verbose #435 > > │ 00:00:09 verbose #297 > > | Plosive | Nasal | Trill │
00:00:15 verbose #436 > > │ 00:00:09 verbose #298 > > | TapOrFlap | Fricative | LateralFricative │
00:00:15 verbose #437 > > │ 00:00:09 verbose #299 > > | Approximant | LateralApproximant │
00:00:15 verbose #438 > > │ 00:00:09 verbose #300 > > │
00:00:15 verbose #439 > > │ 00:00:09 verbose #301 > > and Voicing = Voiced | Voiceless │
00:00:15 verbose #440 > > │ 00:00:09 verbose #302 > > │
00:00:15 verbose #441 > > │ 00:00:09 verbose #303 > > and SecondaryArticulation = │
00:00:15 verbose #442 > > │ 00:00:09 verbose #304 > > | Labialization | Palatalization | │
00:00:15 verbose #443 > > │ Velarization │
00:00:15 verbose #444 > > │ 00:00:09 verbose #305 > > | Pharyngealization | Aspiration │
00:00:15 verbose #445 > > │ 00:00:09 verbose #306 > > │
00:00:15 verbose #446 > > │ 00:00:09 verbose #307 > > and Tone = │
00:00:15 verbose #447 > > │ 00:00:09 verbose #308 > > | LevelTone of int │
00:00:15 verbose #448 > > │ 00:00:09 verbose #309 > > | ContourTone of int list │
00:00:15 verbose #449 > > │ 00:00:09 verbose #310 > > │
00:00:15 verbose #450 > > │ 00:00:09 verbose #311 > > and MorphologicalFeature = │
00:00:15 verbose #451 > > │ 00:00:09 verbose #312 > > | RootFeature of string │
00:00:15 verbose #452 > > │ 00:00:09 verbose #313 > > | AffixFeature of AffixType * string │
00:00:15 verbose #453 > > │ 00:00:09 verbose #314 > > | IncorporationFeature of string * │
00:00:15 verbose #454 > > │ MorphologicalFeature │
00:00:15 verbose #455 > > │ 00:00:09 verbose #315 > > | NonConcatenativePattern of string * string │
00:00:15 verbose #456 > > │ 00:00:09 verbose #316 > > | AgglutinativeAffixFeature of │
00:00:15 verbose #457 > > │ AgglutinativeAffixType * string │
00:00:15 verbose #458 > > │ 00:00:09 verbose #317 > > | Honori... │
00:00:15 verbose #459 > > │ 00:00:10 verbose #318 > > │
00:00:15 verbose #460 > > │ 00:00:10 verbose #319 > > ── fsharp │
00:00:15 verbose #461 > > │ ────────────────────────────────────────────────────────────────────── │
00:00:15 verbose #462 > > │ 00:00:10 verbose #320 > > let testEnglish = │
00:00:15 verbose #463 > > │ 00:00:10 verbose #321 > > Model( │
00:00:15 verbose #464 > > │ 00:00:10 verbose #322 > > DiscourseUnit [[ │
00:00:15 verbose #465 > > │ 00:00:10 verbose #323 > > LanguageElement (Phonological │
00:00:15 verbose #466 > > │ (ConsonantFeature (Alveolar, Nasal, │
00:00:15 verbose #467 > > │ 00:00:10 verbose #324 > > Voiced, Some(HalfLong)))); │
00:00:15 verbose #468 > > │ 00:00:10 verbose #325 > > LanguageElement (Phonological │
00:00:15 verbose #469 > > │ (VowelFeature (High, Front, Unrounded, │
00:00:15 verbose #470 > > │ 00:00:10 verbose #326 > > Some(LevelTone 1), Some(Primary), Some(Short)))); │
00:00:15 verbose #471 > > │ 00:00:10 verbose #327 > > LanguageElement (Phonological │
00:00:15 verbose #472 > > │ (VowelFeature (Low, Front, Unrounded, │
00:00:15 verbose #473 > > │ 00:00:10 verbose #328 > > Some(LevelTone 2), Some(Secondary), Some(Long)))); │
00:00:15 verbose #474 > > │ 00:00:10 verbose #329 > > LanguageElement (Phonological │
00:00:15 verbose #475 > > │ (ConsonantFeature (Velar, Plosive, │
00:00:15 verbose #476 > > │ 00:00:10 verbose #330 > > Voiceless, Some(HalfLong)))); │
00:00:15 verbose #477 > > │ 00:00:10 verbose #331 > > LanguageElement (Morphological │
00:00:15 verbose #478 > > │ (RootFeature "I")); │
00:00:15 verbose #479 > > │ 00:00:10 verbose #332 > > LanguageElement (Morphological │
00:00:15 verbose #480 > > │ (RootFeature "see")); │
00:00:15 verbose #481 > > │ 00:00:10 verbose #333 > > LanguageElement (Morphological │
00:00:15 verbose #482 > > │ (RootFeature "a")); │
00:00:15 verbose #483 > > │ 00:00:10 verbose #334 > > LanguageElement (Morphological │
00:00:15 verbose #484 > > │ (RootFeature "cat")); │
00:00:15 verbose #485 > > │ 00:00:10 verbose #335 > > LanguageElement (Syntactic │
00:00:15 verbose #486 > > │ (PhraseFeature (NP, [[WordFeature │
00:00:15 verbose #487 > > │ 00:00:10 verbose #336 > > ([[RootFeature "I"]], Pronoun)]]))); │
00:00:15 verbose #488 > > │ 00:00:10 verbose #337 > > LanguageElement (Syntactic │
00:00:15 verbose #489 > > │ (PhraseFeature (VP, [[WordFeature │
00:00:15 verbose #490 > > │ 00:00:10 verbose #338 > > ([[RootFeature "see"]], Verb)]]))); │
00:00:15 verbose #491 > > │ 00:00:10 verbose #339 > > LanguageElement (Syntactic │
00:00:15 verbose #492 > > │ (PhraseFeature (NP, [[WordFeature │
00:00:15 verbose #493 > > │ 00:00:10 verbose #340 > > ([[RootFeature "a"; RootFeature "cat"]], │
00:00:15 verbose #494 > > │ Noun)]]))); │
00:00:15 verbose #495 > > │ 00:00:10 verbose #341 > > LanguageElement (Semantic (Meaning │
00:00:15 verbose #496 > > │ "Perception act of a feline by │
00:00:15 verbose #497 > > │ 00:00:10 verbose #342 > > the speaker")); │
00:00:15 verbose #498 > > │ 00:00:10 verbose #343 > > LanguageElement (Pragmatic (UseContext │
00:00:15 verbose #499 > > │ "Statement of an action being │
00:00:15 verbose #500 > > │ 00:00:10 verbose #344 > > observed")) │
00:00:15 verbose #501 > > │ 00:00:10 verbose #345 > > ]] │
00:00:15 verbose #502 > > │ 00:00:10 verbose #346 > > ) │
00:00:15 verbose #503 > > │ 00:00:10 verbose #347 > > │
00:00:15 verbose #504 > > │ 00:00:10 verbose #348 > > let testPortuguese = │
00:00:15 verbose #505 > > │ 00:00:10 verbose #349 > > Model( │
00:00:15 verbose #506 > > │ 00:00:10 verbose #350 > > DiscourseUnit [[ │
00:00:15 verbose #507 > > │ 00:00:10 verbose #351 > > LanguageElement (Phonological │
00:00:15 verbose #508 > > │ (VowelFeature (High, Front, Unrounded, │
00:00:15 verbose #509 > > │ 00:00:10 verbose #352 > > Some(LevelTone 1), Some(Primary), Some(Short)))); │
00:00:15 verbose #510 > > │ 00:00:10 verbose #353 > > LanguageElement (Phonological │
00:00:15 verbose #511 > > │ (VowelFeature (Low, Front, Unrounded, │
00:00:15 verbose #512 > > │ 00:00:10 verbose #354 > > Some(LevelTone 2), Some(Secondary), Some(Long)))); │
00:00:15 verbose #513 > > │ 00:00:10 verbose #355 > > LanguageElement (Phonological │
00:00:15 verbose #514 > > │ (VowelFeature (Mid, Back, Rounded, │
00:00:15 verbose #515 > > │ 00:00:10 verbose #356 > > Some(LevelTone 3), Some(Primary), Some(Short)))); │
00:00:15 verbose #516 > > │ 00:00:10 verbose #357 > > LanguageElement (Phonological │
00:00:15 verbose #517 > > │ (ConsonantFeature (Velar, Plosive, │
00:00:15 verbose #518 > > │ 00:00:10 verbose #358 > > Voiceless, Some(HalfLong)))); │
00:00:15 verbose #519 > > │ 00:00:10 verbose #359 > > LanguageElement (Morphological │
00:00:15 verbose #520 > > │ (RootFeature "Eu")); │
00:00:15 verbose #521 > > │ 00:00:10 verbose #360 > > LanguageElement (Morphological │
00:00:15 verbose #522 > > │ (RootFeature "ver" |> ignore; │
00:00:15 verbose #523 > > │ 00:00:10 verbose #361 > > AffixFeature (Suffix, "o"))); │
00:00:15 verbose #524 > > │ 00:00:10 verbose #362 > > LanguageElement (Morphological │
00:00:15 verbose #525 > > │ (RootFeature "um")); │
00:00:15 verbose #526 > > │ 00:00:10 verbose #363 > > LanguageElement (Morphological │
00:00:15 verbose #527 > > │ (RootFeature "gato")); │
00:00:15 verbose #528 > > │ 00:00:10 verbose #364 > > LanguageElement (Syntactic │
00:00:15 verbose #529 > > │ (PhraseFeature (NP, [[WordFeature │
00:00:15 verbose #530 > > │ 00:00:10 verbose #365 > > ([[RootFeature "Eu"]], Pronoun)]]))); │
00:00:15 verbose #531 > > │ 00:00:10 verbose #366 > > LanguageElement (Syntactic │
00:00:15 verbose #532 > > │ (PhraseFeature (VP, [[WordFeature │
00:00:15 verbose #533 > > │ 00:00:10 verbose #367 > > ([[RootFeature "vejo"]], Verb)]]))); │
00:00:15 verbose #534 > > │ 00:00:10 verbose #368 > > LanguageElement (Syntactic │
00:00:15 verbose #535 > > │ (PhraseFeature (NP, [[WordFeature │
00:00:15 verbose #536 > > │ 00:00:10 verbose #369 > > ([[RootFeature "um"; RootFeature "gato"]], │
00:00:15 verbose #537 > > │ Noun)]]))); │
00:00:15 verbose #538 > > │ 00:00:10 verbose #370 > > LanguageElement (Semantic (Meaning │
00:00:15 verbose #539 > > │ "Ação de percepção de um felino │
00:00:15 verbose #540 > > │ 00:00:10 verbose #371 > > pelo falante")); │
00:00:15 verbose #541 > > │ 00:00:10 verbose #372 > > LanguageElement (Pragmatic (UseContext │
00:00:15 verbose #542 > > │ "Declaração de uma ação sendo │
00:00:15 verbose #543 > > │ 00:00:10 verbose #373 > > observada")) │
00:00:15 verbose #544 > > │ 00:00:10 verbose #374 > > ]] │
00:00:15 verbose #545 > > │ 00:00:10 verbose #375 > > ) │
00:00:15 verbose #546 > > │ 00:00:10 verbose #376 > > │
00:00:15 verbose #547 > > │ 00:00:10 verbose #377 > > let testKorean = │
00:00:15 verbose #548 > > │ 00:00:10 verbose #378 > > Model( │
00:00:15 verbose #549 > > │ 00:00:10 verbose #379 > > DiscourseUnit [[ │
00:00:15 verbose #550 > > │ 00:00:10 verbose #380 > > LanguageElement (Phonological │
00:00:15 verbose #551 > > │ (ConsonantFeature (Alveolar, Nasal, │
00:00:15 verbose #552 > > │ 00:00:10 verbose #381 > > Voiced, Some(Short)))); │
00:00:15 verbose #553 > > │ 00:00:10 verbose #382 > > LanguageElement (Phonological │
00:00:15 verbose #554 > > │ (VowelFeature (High, Back, Rounded, │
00:00:15 verbose #555 > > │ 00:00:10 verbose #383 > > None, None, Some(Short)))); │
00:00:15 verbose #556 > > │ 00:00:10 verbose #384 > > LanguageElement (Phonological │
00:00:15 verbose #557 > > │ (VowelFeature (Mid, Front, Unrounded, │
00:00:15 verbose #558 > > │ 00:00:10 verbose #385 > > None, None, Some(Long)))); │
00:00:15 verbose #559 > > │ 00:00:10 verbose #386 > > LanguageElement (Phonological │
00:00:15 verbose #560 > > │ (ConsonantFeature (Bilabial, Plosive, │
00:00:15 verbose #561 > > │ 00:00:10 verbose #387 > > Voiceless, Some(Short)))); │
00:00:15 verbose #562 > > │ 00:00:10 verbose #388 > > LanguageElement (Morphological │
00:00:15 verbose #563 > > │ (RootFeature "나")); │
00:00:15 verbose #564 > > │ 00:00:10 verbose #389 > > LanguageElement (Morphological │
00:00:15 verbose #565 > > │ (RootFeature "보다")); │
00:00:15 verbose #566 > > │ 00:00:10 verbose #390 > > LanguageElement (Morphological │
00:00:15 verbose #567 > > │ (AffixFeature (Suffix, "아"))); │
00:00:15 verbose #568 > > │ 00:00:10 verbose #391 > > LanguageElement (Morphological │
00:00:15 verbose #569 > > │ (RootFeature "고양이")); │
00:00:15 verbose #570 > > │ 00:00:10 verbose #392 > > LanguageElement (Syntactic │
00:00:15 verbose #571 > > │ (PhraseFeature (NP, [[WordFeature │
00:00:15 verbose #572 > > │ 00:00:10 verbose #393 > > ([[RootFeature "나"]], Pronoun)]]))); │
00:00:15 verbose #573 > > │ 00:00:10 verbose #394 > > LanguageElement (Syntactic │
00:00:15 verbose #574 > > │ (PhraseFeature (VP, [[WordFeature │
00:00:15 verbose #575 > > │ 00:00:10 verbose #395 > > ([[RootFeature "보다"; AffixFeature (Suffix, │
00:00:15 verbose #576 > > │ "아")]], Verb)]]))); │
00:00:15 verbose #577 > > │ 00:00:10 verbose #396 > > LanguageElement (Syntactic │
00:00:15 verbose #578 > > │ (PhraseFeature (NP, [[WordFeature │
00:00:15 verbose #579 > > │ 00:00:10 verbose #397 > > ([[RootFeature "고양이"]], Noun)]]))); │
00:00:15 verbose #580 > > │ 00:00:10 verbose #398 > > LanguageElement (Semantic (Meaning │
00:00:15 verbose #581 > > │ "화자에 의한 고양이의 관찰 │
00:00:15 verbose #582 > > │ 00:00:10 verbose #399 > > 행위")); │
00:00:15 verbose #583 > > │ 00:00:10 verbose #400 > > LanguageElement (Pragmatic (UseContext │
00:00:15 verbose #584 > > │ "관찰되고 있는 행동의 진술")) │
00:00:15 verbose #585 > > │ 00:00:10 verbose #401 > > ]] │
00:00:15 verbose #586 > > │ 00:00:10 verbose #402 > > ) │
00:00:15 verbose #587 > > │ 00:00:10 verbose #403 > > │
00:00:15 verbose #588 > > │ 00:00:10 verbose #404 > > ── markdown │
00:00:15 verbose #589 > > │ ──────────────────────────────────────────────────────────────────── │
00:00:15 verbose #590 > > │ 00:00:10 verbose #405 > > 38;5;2m│
00:00:15 verbose #591 > > │ 38;5;103m╭────────────────────────────────────────────────────────────────── │
00:00:15 verbose #592 > > │ ────────────╮ │
00:00:15 verbose #593 > > │ 00:00:10 verbose #406 > > │ ## main │
00:00:15 verbose #594 > > │ │ │
00:00:15 verbose #595 > > │ 00:00:10 verbose #407 > > 38;5;2m│
00:00:15 verbose #596 > > │ 38;5;103m╰────────────────────────────────────────────────────────────────── │
00:00:15 verbose #597 > > │ ────────────╯ │
00:00:15 verbose #598 > > │ 00:00:10 verbose #408 > > │
00:00:15 verbose #599 > > │ 00:00:10 verbose #409 > > ── spiral │
00:00:15 verbose #600 > > │ ────────────────────────────────────────────────────────────────────── │
00:00:15 verbose #601 > > │ 00:00:10 verbose #410 > > inl main (_args : array_base string) = │
00:00:15 verbose #602 > > │ 00:00:10 verbose #411 > > 0i32 │
00:00:15 verbose #603 > > │ 00:00:10 verbose #412 > > │
00:00:15 verbose #604 > > │ 00:00:10 verbose #413 > > inl main () = │
00:00:15 verbose #605 > > │ 00:00:10 verbose #414 > > $"let main args = !main args" : () │
00:00:15 verbose #606 > > │ 00:00:10 verbose #415 > > │
00:00:15 verbose #607 > > │ 00:00:10 verbose #416 > > ── spiral │
00:00:15 verbose #608 > > │ ────────────────────────────────────────────────────────────────────── │
00:00:15 verbose #609 > > │ 00:00:10 verbose #417 > > inl app () = │
00:00:15 verbose #610 > > │ 00:00:10 verbose #418 > > "test" |> console.write_line │
00:00:15 verbose #611 > > │ 00:00:10 verbose #419 > > 0i32 │
00:00:15 verbose #612 > > │ 00:00:10 verbose #420 > > │
00:00:15 verbose #613 > > │ 00:00:10 verbose #421 > > inl main () = │
00:00:15 verbose #614 > > │ 00:00:10 verbose #422 > > print_static "<test>" │
00:00:15 verbose #615 > > │ 00:00:10 verbose #423 > > │
00:00:15 verbose #616 > > │ 00:00:10 verbose #424 > > app │
00:00:15 verbose #617 > > │ 00:00:10 verbose #425 > > |> dyn │
00:00:15 verbose #618 > > │ 00:00:10 verbose #426 > > |> ignore │
00:00:15 verbose #619 > > │ 00:00:10 verbose #427 > > │
00:00:15 verbose #620 > > │ 00:00:10 verbose #428 > > print_static "</test>" │
00:00:15 verbose #621 > > │ 00:00:10 verbose #429 > 00:00:10 verbose #3 │
00:00:15 verbose #622 > > │ runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: │
00:00:15 verbose #623 > > │ 14728 │
00:00:15 verbose #624 > > │ 00:00:10 verbose #430 > 00:00:10 debug #4 │
00:00:15 verbose #625 > > │ runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", │
00:00:15 verbose #626 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb", │
00:00:15 verbose #627 > > │ "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter │
00:00:15 verbose #628 > > │ nbconvert │
00:00:15 verbose #629 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb" │
00:00:15 verbose #630 > > │ --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, │
00:00:15 verbose #631 > > │ None) │
00:00:15 verbose #632 > > │ 00:00:11 verbose #431 > 00:00:10 verbose #5 ! [NbConvertApp] │
00:00:15 verbose #633 > > │ Converting notebook │
00:00:15 verbose #634 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb to │
00:00:15 verbose #635 > > │ html │
00:00:15 verbose #636 > > │ 00:00:11 verbose #432 > 00:00:10 verbose #6 ! │
00:00:15 verbose #637 > > │ /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat │
00:00:15 verbose #638 > > │ /__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this │
00:00:15 verbose #639 > > │ will become a hard error in future nbformat versions. You may want to use │
00:00:15 verbose #640 > > │ `normalize()` on your notebooks before validations (available since nbformat │
00:00:15 verbose #641 > > │ 5.1.4). Previous versions of nbformat are fixing this issue transparently, │
00:00:15 verbose #642 > > │ and will stop doing so in the future. │
00:00:15 verbose #643 > > │ 00:00:11 verbose #433 > 00:00:10 verbose #7 ! validate(nb) │
00:00:15 verbose #644 > > │ 00:00:11 verbose #434 > 00:00:11 verbose #8 ! │
00:00:15 verbose #645 > > │ /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconver │
00:00:15 verbose #646 > > │ t/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling │
00:00:15 verbose #647 > > │ back on Python 3 │
00:00:15 verbose #648 > > │ 00:00:11 verbose #435 > 00:00:11 verbose #9 ! return │
00:00:15 verbose #649 > > │ _pygments_highlight( │
00:00:15 verbose #650 > > │ 00:00:11 verbose #436 > 00:00:11 verbose #10 ! [NbConvertApp] Writing │
00:00:15 verbose #651 > > │ 318991 bytes to │
00:00:15 verbose #652 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.html │
00:00:15 verbose #653 > > │ 00:00:11 verbose #437 > 00:00:11 verbose #11 │
00:00:15 verbose #654 > > │ runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 914 │
00:00:15 verbose #655 > > │ 00:00:11 verbose #438 > 00:00:11 debug #12 spiral_builder.run / dib │
00:00:15 verbose #656 > > │ / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 914 │
00:00:15 verbose #657 > > │ 00:00:11 verbose #439 > 00:00:11 debug #13 │
00:00:15 verbose #658 > > │ runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter │
00:00:15 verbose #659 > > │ = 1; $path = │
00:00:15 verbose #660 > > │ '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.html'; │
00:00:15 verbose #661 > > │ (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { │
00:00:15 verbose #662 > > │ $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, │
00:00:15 verbose #663 > > │ "pwsh -c "$counter = 1; $path = │
00:00:15 verbose #664 > > │ '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.html'; │
00:00:15 verbose #665 > > │ (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { │
00:00:15 verbose #666 > > │ $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), │
00:00:15 verbose #667 > > │ None, None, true, None) │
00:00:15 verbose #668 > > │ 00:00:12 verbose #440 > 00:00:11 verbose #14 │
00:00:15 verbose #669 > > │ runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0 │
00:00:15 verbose #670 > > │ 00:00:12 verbose #441 > 00:00:11 debug #15 spiral_builder.run / dib │
00:00:15 verbose #671 > > │ / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0 │
00:00:15 verbose #672 > > │ 00:00:12 verbose #442 > 00:00:11 debug #16 spiral_builder.run / dib │
00:00:15 verbose #673 > > │ / exit_code: 0 / result.Length: 15701 │
00:00:15 verbose #674 > > │ 00:00:12 debug #443 execute_with_options_async / exit_code: 0 / │
00:00:15 verbose #675 > > │ output.Length: 19016 │
00:00:15 verbose #676 > > │ 00:00:12 debug #1 main / executeCommand / exitCode: 0 / command: │
00:00:15 verbose #677 > > │ ../../../../workspace/target/release/spiral_builder dib --path test.dib │
00:00:15 verbose #678 > > │ --retries 3 │
00:00:15 verbose #679 > > │ │
00:00:15 verbose #680 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #681 > >
00:00:15 verbose #682 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:15 verbose #683 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:15 verbose #684 > > │ ### parse the .dib file into .spi format with dibparser │
00:00:15 verbose #685 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:15 verbose #686 > >
00:00:15 verbose #687 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:15 verbose #688 > > { . ../../../../apps/parser/dist/DibParser$(_exe) test.dib spi } | Invoke-Block
00:00:16 verbose #689 > >
00:00:16 verbose #690 > > ╭─[ 430.51ms - stdout ]────────────────────────────────────────────────────────╮
00:00:16 verbose #691 > > │ 00:00:00 debug #1 writeDibCode / output: Spi / path: test.dib │
00:00:16 verbose #692 > > │ 00:00:00 debug #2 parseDibCode / output: Spi / file: test.dib │
00:00:16 verbose #693 > > │ │
00:00:16 verbose #694 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #695 > >
00:00:16 verbose #696 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:16 verbose #697 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:16 verbose #698 > > │ ### build .fsx file from .spi using supervisor │
00:00:16 verbose #699 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:16 verbose #700 > >
00:00:16 verbose #701 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:16 verbose #702 > > { . ../../../../apps/spiral/dist/Supervisor$(_exe) --build-file test.spi
00:00:16 verbose #703 > > test.fsx } | Invoke-Block
00:00:17 verbose #704 > 00:00:16 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.spi
00:00:17 verbose #705 > <test>
00:00:17 verbose #706 > </test>
00:00:17 verbose #707 > >
00:00:17 verbose #708 > > ╭─[ 1.09s - stdout ]───────────────────────────────────────────────────────────╮
00:00:17 verbose #709 > > │ 00:00:00 verbose #1 networking.test_port_open / port: 13806 / ex: │
00:00:17 verbose #710 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:00:17 verbose #711 > > │ 00:00:00 verbose #2 networking.test_port_open / port: 13806 / ex: │
00:00:17 verbose #712 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │
00:00:17 verbose #713 > > │ 00:00:00 debug #1 buildFile / takeWhileInclusive / path: test.spi / │
00:00:17 verbose #714 > > │ fsxContent: / errors: [] / typeErrorCount: 0 │
00:00:17 verbose #715 > > │ 00:00:00 debug #2 buildFile / takeWhileInclusive / path: test.spi / │
00:00:17 verbose #716 > > │ fsxContent: / errors: [] / typeErrorCount: 0 │
00:00:17 verbose #717 > > │ 00:00:00 verbose #3 Supervisor.sendJson / port: 13805 / json: │
00:00:17 verbose #718 > > │ {"FileOpen":{"spiText":"/// # test (Polyglot)\nnominal i = ()\nnominal e = │
00:00:17 verbose #719 > > │ ()\nnominal s = │
00:00:17 verbose #720 > > │ ()\nnomin...t\u003E\u0022\n","uri":"file:///home/runner/work/polyglot/polygl │
00:00:17 verbose #721 > > │ ot/apps/spiral/temp/test/test.spi"}} / result: │
00:00:17 verbose #722 > > │ 00:00:00 verbose #4 Supervisor.sendJson / port: 13805 / json: │
00:00:17 verbose #723 > > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │
00:00:17 verbose #724 > > │ lyglot/apps/spiral/temp/test/test.spi"}} / result: │
00:00:17 verbose #725 > > │ 00:00:00 debug #5 buildFile / takeWhileInclusive / path: test.spi / │
00:00:17 verbose #726 > > │ fsxContent: let rec closure0 () () : int32 = │
00:00:17 verbose #727 > > │ let v0 : string = "test" │
00:00:17 verbose #728 > > │ System.Console.WriteLine v0 │
00:00:17 verbose #729 > > │ 0 │
00:00:17 verbose #730 > > │ let v0 : (unit -> int32) = closure0() │
00:00:17 verbose #731 > > │ () │
00:00:17 verbose #732 > > │ / errors: [] / typeErrorCount: 0 │
00:00:17 verbose #733 > > │ 00:00:00 debug #6 watchWithFilter / Disposing watch stream / filter: │
00:00:17 verbose #734 > > │ FileName, LastWrite │
00:00:17 verbose #735 > > │ │
00:00:17 verbose #736 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #737 > >
00:00:17 verbose #738 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #739 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #740 > > │ ## compile and format the project │
00:00:17 verbose #741 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #742 > >
00:00:17 verbose #743 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:17 verbose #744 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:17 verbose #745 > > │ ### compile project with fable targeting optimized rust │
00:00:17 verbose #746 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:17 verbose #747 > >
00:00:17 verbose #748 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:17 verbose #749 > > dotnet fable --optimize --lang rs --extension .rs
00:00:24 verbose #750 > >
00:00:24 verbose #751 > > ╭─[ 7.23s - stdout ]───────────────────────────────────────────────────────────╮
00:00:24 verbose #752 > > │ Fable 4.17.0: F# to Rust compiler (status: alpha) │
00:00:24 verbose #753 > > │ │
00:00:24 verbose #754 > > │ Thanks to the contributor! @rbauduin │
00:00:24 verbose #755 > > │ Stand with Ukraine! https://standwithukraine.com.ua/ │
00:00:24 verbose #756 > > │ │
00:00:24 verbose #757 > > │ Parsing test.fsproj... │
00:00:24 verbose #758 > > │ .> dotnet restore test.fable-temp.csproj -p:FABLE_COMPILER=true │
00:00:24 verbose #759 > > │ -p:FABLE_COMPILER_4=true -p:FABLE_COMPILER_RUST=true │
00:00:24 verbose #760 > > │ Determining projects to restore... │
00:00:24 verbose #761 > > │ Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │
00:00:24 verbose #762 > > │ The last full restore is still up to date. Nothing left to do. │
00:00:24 verbose #763 > > │ Total time taken: 0 milliseconds │
00:00:24 verbose #764 > > │ Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2 │
00:00:24 verbose #765 > > │ Restoring │
00:00:24 verbose #766 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fable-temp.cs │
00:00:24 verbose #767 > > │ proj │
00:00:24 verbose #768 > > │ Starting restore process. │
00:00:24 verbose #769 > > │ Total time taken: 0 milliseconds │
00:00:24 verbose #770 > > │ Restored │
00:00:24 verbose #771 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fable-temp.cs │
00:00:24 verbose #772 > > │ proj (in 244 ms). │
00:00:24 verbose #773 > > │ .> dotnet restore │
00:00:24 verbose #774 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fsproj │
00:00:24 verbose #775 > > │ Determining projects to restore... │
00:00:24 verbose #776 > > │ Restored │
00:00:24 verbose #777 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fsproj (in │
00:00:24 verbose #778 > > │ 291 ms). │
00:00:24 verbose #779 > > │ Project and references (1 source files) parsed in 5184ms │
00:00:24 verbose #780 > > │ │
00:00:24 verbose #781 > > │ Started Fable compilation... │
00:00:24 verbose #782 > > │ │
00:00:24 verbose #783 > > │ Fable compilation finished in 1004ms │
00:00:24 verbose #784 > > │ │
00:00:24 verbose #785 > > │ ./test.fsx(6,0): (6,2) warning FABLE: For Rust, support for F# static and │
00:00:24 verbose #786 > > │ module do bindings is disabled by default. It can be enabled with the │
00:00:24 verbose #787 > > │ 'static_do_bindings' feature. Use at your own risk! │
00:00:24 verbose #788 > > │ │
00:00:24 verbose #789 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #790 > >
00:00:24 verbose #791 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 verbose #792 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 verbose #793 > > │ ### fix formatting issues in the .rs file using regex and set-content │
00:00:24 verbose #794 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #795 > >
00:00:24 verbose #796 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:24 verbose #797 > > (Get-Content test.rs) `
00:00:24 verbose #798 > > -replace [[regex]]::Escape("),);"), "));" `
00:00:24 verbose #799 > > | FixRust `
00:00:24 verbose #800 > > | Set-Content test.rs
00:00:24 verbose #801 > >
00:00:24 verbose #802 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 verbose #803 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 verbose #804 > > │ ### format the rust code using cargo fmt │
00:00:24 verbose #805 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #806 > >
00:00:24 verbose #807 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:24 verbose #808 > > cargo fmt --
00:00:24 verbose #809 > >
00:00:24 verbose #810 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 verbose #811 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 verbose #812 > > │ ## build and test the project │
00:00:24 verbose #813 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #814 > >
00:00:24 verbose #815 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:24 verbose #816 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:24 verbose #817 > > │ ### build the project in release mode using nightly rust compiler │
00:00:24 verbose #818 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:24 verbose #819 > >
00:00:24 verbose #820 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:24 verbose #821 > > cargo +nightly build --release
00:00:34 verbose #822 > >
00:00:34 verbose #823 > > ╭─[ 9.80s - stdout ]───────────────────────────────────────────────────────────╮
00:00:34 verbose #824 > > │ Compiling linux-raw-sys v0.4.14 │
00:00:34 verbose #825 > > │ Compiling num-traits v0.2.19 │
00:00:34 verbose #826 > > │ Compiling rand_chacha v0.3.1 │
00:00:34 verbose #827 > > │ Compiling libm v0.2.8 │
00:00:34 verbose #828 > > │ Compiling syn v2.0.65 │
00:00:34 verbose #829 > > │ Compiling rustix v0.38.34 │
00:00:34 verbose #830 > > │ Compiling wait-timeout v0.2.0 │
00:00:34 verbose #831 > > │ Compiling bit-vec v0.6.3 │
00:00:34 verbose #832 > > │ Compiling quick-error v1.2.3 │
00:00:34 verbose #833 > > │ Compiling bit-set v0.5.3 │
00:00:34 verbose #834 > > │ Compiling rand v0.8.5 │
00:00:34 verbose #835 > > │ Compiling rand_xorshift v0.3.0 │
00:00:34 verbose #836 > > │ Compiling unarray v0.1.4 │
00:00:34 verbose #837 > > │ Compiling memchr v2.7.2 │
00:00:34 verbose #838 > > │ Compiling lazy_static v1.4.0 │
00:00:34 verbose #839 > > │ Compiling fable_library_rust v0.1.0 │
00:00:34 verbose #840 > > │ (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-libr │
00:00:34 verbose #841 > > │ ary-rust) │
00:00:34 verbose #842 > > │ Compiling tempfile v3.10.1 │
00:00:34 verbose #843 > > │ Compiling nom v7.1.3 │
00:00:34 verbose #844 > > │ Compiling rusty-fork v0.3.0 │
00:00:34 verbose #845 > > │ Compiling thiserror-impl v1.0.61 │
00:00:34 verbose #846 > > │ Compiling proptest v1.4.0 │
00:00:34 verbose #847 > > │ Compiling thiserror v1.0.61 │
00:00:34 verbose #848 > > │ Compiling spiral_temp_test v0.0.1 │
00:00:34 verbose #849 > > │ (/home/runner/work/polyglot/polyglot/apps/spiral/temp/test) │
00:00:34 verbose #850 > > │ warning: struct `Cart` is never constructed │
00:00:34 verbose #851 > > │ --> 38;5;2m│
00:00:34 verbose #852 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:41:838;5;2m│
00:00:34 verbose #853 > > │ 0m │
00:00:34 verbose #854 > > │ | │
00:00:34 verbose #855 > > │ 41 | struct Cart { │
00:00:34 verbose #856 > > │ | ^^^^ │
00:00:34 verbose #857 > > │ | │
00:00:34 verbose #858 > > │ = note: `#[warn(dead_code)]` on by default38;5;2m│
00:00:34 verbose #859 > > │ 0m │
00:00:34 verbose #860 > > │ │
00:00:34 verbose #861 > > │ warning: associated items `new`, `add_item`, and │
00:00:34 verbose #862 > > │ `remove_item` are never used │
00:00:34 verbose #863 > > │ --> 38;5;2m│
00:00:34 verbose #864 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:46:838;5;2m│
00:00:34 verbose #865 > > │ 0m │
00:00:34 verbose #866 > > │ | │
00:00:34 verbose #867 > > │ 45 | impl Cart { │
00:00:34 verbose #868 > > │ | --------- 38;5;2m│
00:00:34 verbose #869 > > │ 38;5;12massociated items in this implementation │
00:00:34 verbose #870 > > │ 46 | fn new() -> Cart { │
00:00:34 verbose #871 > > │ | ^^^ │
00:00:34 verbose #872 > > │ ... │
00:00:34 verbose #873 > > │ 50 | fn add_item(&mut self, │
00:00:34 verbose #874 > > │ item: Item) { │
00:00:34 verbose #875 > > │ | ^^^^^^^^ │
00:00:34 verbose #876 > > │ ... │
00:00:34 verbose #877 > > │ 56 | fn remove_item(&mut │
00:00:34 verbose #878 > > │ self, item: &Item) { │
00:00:34 verbose #879 > > │ | ^^^^^^^^^^^ │
00:00:34 verbose #880 > > │ │
00:00:34 verbose #881 > > │ warning: function `parse_comment` is never used │
00:00:34 verbose #882 > > │ --> 38;5;2m│
00:00:34 verbose #883 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:124:4 │
00:00:34 verbose #884 > > │ [0m │
00:00:34 verbose #885 > > │ | │
00:00:34 verbose #886 > > │ 124 | fn parse_comment(input: │
00:00:34 verbose #887 > > │ &str) -> IResult<&str, SpiralToken> { │
00:00:34 verbose #888 > > │ | ^^^^^^^^^^^^^ │
00:00:34 verbose #889 > > │ │
00:00:34 verbose #890 > > │ warning: function `parse_string` is never used │
00:00:34 verbose #891 > > │ --> 38;5;2m│
00:00:34 verbose #892 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:130:4 │
00:00:34 verbose #893 > > │ [0m │
00:00:34 verbose #894 > > │ | │
00:00:34 verbose #895 > > │ 130 | fn parse_string(input: │
00:00:34 verbose #896 > > │ &str) -> IResult<&str, SpiralToken> { │
00:00:34 verbose #897 > > │ | ^^^^^^^^^^^^ │
00:00:34 verbose #898 > > │ │
00:00:34 verbose #899 > > │ warning: function `parse_identifier` is never used │
00:00:34 verbose #900 > > │ --> 38;5;2m│
00:00:34 verbose #901 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:145:4 │
00:00:34 verbose #902 > > │ [0m │
00:00:34 verbose #903 > > │ | │
00:00:34 verbose #904 > > │ 145 | fn parse_identifier(input: │
00:00:34 verbose #905 > > │ &str) -> IResult<&str, SpiralToken> { │
00:00:34 verbose #906 > > │ | ^^^^^^^^^^^^^^^^ │
00:00:34 verbose #907 > > │ │
00:00:34 verbose #908 > > │ warning: function `parse_integer` is never used │
00:00:34 verbose #909 > > │ --> 38;5;2m│
00:00:34 verbose #910 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:157:4 │
00:00:34 verbose #911 > > │ [0m │
00:00:34 verbose #912 > > │ | │
00:00:34 verbose #913 > > │ 157 | fn parse_integer(input: │
00:00:34 verbose #914 > > │ &str) -> IResult<&str, SpiralToken> { │
00:00:34 verbose #915 > > │ | ^^^^^^^^^^^^^ │
00:00:34 verbose #916 > > │ │
00:00:34 verbose #917 > > │ warning: function `parse_operator` is never used │
00:00:34 verbose #918 > > │ --> 38;5;2m│
00:00:34 verbose #919 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:165:4 │
00:00:34 verbose #920 > > │ [0m │
00:00:34 verbose #921 > > │ | │
00:00:34 verbose #922 > > │ 165 | fn parse_operator(input: │
00:00:34 verbose #923 > > │ &str) -> IResult<&str, SpiralToken> { │
00:00:34 verbose #924 > > │ | ^^^^^^^^^^^^^^ │
00:00:34 verbose #925 > > │ │
00:00:34 verbose #926 > > │ warning: function `parse_token` is never used │
00:00:34 verbose #927 > > │ --> 38;5;2m│
00:00:34 verbose #928 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:170:4 │
00:00:34 verbose #929 > > │ [0m │
00:00:34 verbose #930 > > │ | │
00:00:34 verbose #931 > > │ 170 | fn parse_token(input: &str) │
00:00:34 verbose #932 > > │ -> IResult<&str, SpiralToken> { │
00:00:34 verbose #933 > > │ | ^^^^^^^^^^^ │
00:00:34 verbose #934 > > │ │
00:00:34 verbose #935 > > │ warning: function `format_token` is never used │
00:00:34 verbose #936 > > │ --> 38;5;2m│
00:00:34 verbose #937 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:180:4 │
00:00:34 verbose #938 > > │ [0m │
00:00:34 verbose #939 > > │ | │
00:00:34 verbose #940 > > │ 180 | fn format_token(token: │
00:00:34 verbose #941 > > │ &SpiralToken) -> String { │
00:00:34 verbose #942 > > │ | ^^^^^^^^^^^^ │
00:00:34 verbose #943 > > │ │
00:00:34 verbose #944 > > │ warning: function `parse_expression` is never used │
00:00:34 verbose #945 > > │ --> 38;5;2m│
00:00:34 verbose #946 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:201:4 │
00:00:34 verbose #947 > > │ [0m │
00:00:34 verbose #948 > > │ | │
00:00:34 verbose #949 > > │ 201 | fn parse_expression(input: │
00:00:34 verbose #950 > > │ &str) -> IResult<&str, SpiralToken> { │
00:00:34 verbose #951 > > │ | ^^^^^^^^^^^^^^^^ │
00:00:34 verbose #952 > > │ │
00:00:34 verbose #953 > > │ warning: `spiral_temp_test` (bin "spiral_temp_test") │
00:00:34 verbose #954 > > │ generated 10 warnings │
00:00:34 verbose #955 > > │ Finished `release` profile [optimized] target(s) in 9.78s │
00:00:34 verbose #956 > > │ │
00:00:34 verbose #957 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:34 verbose #958 > >
00:00:34 verbose #959 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:34 verbose #960 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:34 verbose #961 > > │ ### run release tests with output enabled │
00:00:34 verbose #962 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:34 verbose #963 > >
00:00:34 verbose #964 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:34 verbose #965 > > { cargo +nightly test --release -- --show-output } | Invoke-Block
00:00:49 verbose #966 > >
00:00:49 verbose #967 > > ╭─[ 15.13s - stdout ]──────────────────────────────────────────────────────────╮
00:00:49 verbose #968 > > │ Compiling bitflags v2.5.0 │
00:00:49 verbose #969 > > │ Compiling linux-raw-sys v0.4.14 │
00:00:49 verbose #970 > > │ Compiling fastrand v2.1.0 │
00:00:49 verbose #971 > > │ Compiling wait-timeout v0.2.0 │
00:00:49 verbose #972 > > │ Compiling fnv v1.0.7 │
00:00:49 verbose #973 > > │ Compiling quick-error v1.2.3 │
00:00:49 verbose #974 > > │ Compiling bit-vec v0.6.3 │
00:00:49 verbose #975 > > │ Compiling num-traits v0.2.19 │
00:00:49 verbose #976 > > │ Compiling rand v0.8.5 │
00:00:49 verbose #977 > > │ Compiling rustix v0.38.34 │
00:00:49 verbose #978 > > │ Compiling bit-set v0.5.3 │
00:00:49 verbose #979 > > │ Compiling rand_xorshift v0.3.0 │
00:00:49 verbose #980 > > │ Compiling minimal-lexical v0.2.1 │
00:00:49 verbose #981 > > │ Compiling unarray v0.1.4 │
00:00:49 verbose #982 > > │ Compiling memchr v2.7.2 │
00:00:49 verbose #983 > > │ Compiling fable_library_rust v0.1.0 │
00:00:49 verbose #984 > > │ (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-libr │
00:00:49 verbose #985 > > │ ary-rust) │
00:00:49 verbose #986 > > │ Compiling thiserror v1.0.61 │
00:00:49 verbose #987 > > │ Compiling nom v7.1.3 │
00:00:49 verbose #988 > > │ Compiling tempfile v3.10.1 │
00:00:49 verbose #989 > > │ Compiling rusty-fork v0.3.0 │
00:00:49 verbose #990 > > │ Compiling proptest v1.4.0 │
00:00:49 verbose #991 > > │ Compiling spiral_temp_test v0.0.1 │
00:00:49 verbose #992 > > │ (/home/runner/work/polyglot/polyglot/apps/spiral/temp/test) │
00:00:49 verbose #993 > > │ Finished `release` profile [optimized] target(s) in 15.02s │
00:00:49 verbose #994 > > │ Running unittests main.rs │
00:00:49 verbose #995 > > │ (/home/runner/work/polyglot/polyglot/workspace/target/release/deps/spiral_te │
00:00:49 verbose #996 > > │ mp_test-0063a7ee06a480e9) │
00:00:49 verbose #997 > > │ │
00:00:49 verbose #998 > > │ running 3 tests │
00:00:49 verbose #999 > > │ test test_parse_number ... ok │
00:00:49 verbose #1000 > > │ test prop_parse_format_idempotent ... ok │
00:00:49 verbose #1001 > > │ test │
00:00:49 verbose #1002 > > │ adding_and_then_removing_an_item_from_the_cart_leaves_the_cart_unchanged ... │
00:00:49 verbose #1003 > > │ ok │
00:00:49 verbose #1004 > > │ │
00:00:49 verbose #1005 > > │ successes: │
00:00:49 verbose #1006 > > │ │
00:00:49 verbose #1007 > > │ ---- prop_parse_format_idempotent stdout ---- │
00:00:49 verbose #1008 > > │ input=StringLiteral("}H%/D0-&0r]&g,D>rnKrYRn&G*:Yq@") │
00:00:49 verbose #1009 > > │ input=Comment("j::rt#6$].*`YTm") │
00:00:49 verbose #1010 > > │ input=Integer(316410219195624604) │
00:00:49 verbose #1011 > > │ input=Comment(":BI_FR~r4b@/#$<<%?/,I<!'3jW>}HD") │
00:00:49 verbose #1012 > > │ input=Comment("I\\R^8Wx{|t") │
00:00:49 verbose #1013 > > │ input=Comment("f?.{O0iPp\"") │
00:00:49 verbose #1014 > > │ input=Identifier("Re7tQF06XJxN1k5saO6x") │
00:00:49 verbose #1015 > > │ input=StringLiteral("0*jA$8Z;HunL/p$@{&-!F%{9_`") │
00:00:49 verbose #1016 > > │ input=Integer(7270770174929635244) │
00:00:49 verbose #1017 > > │ input=StringLiteral("?:I") │
00:00:49 verbose #1018 > > │ input=Comment("0@e%'WU(vV?`*l5 \\}`3BxiQY(g%2") │
00:00:49 verbose #1019 > > │ input=Integer(7613365643732747356) │
00:00:49 verbose #1020 > > │ input=StringLiteral("'") │
00:00:49 verbose #1021 > > │ input=Integer(-6213019958698617597) │
00:00:49 verbose #1022 > > │ input=Integer(1863234122563605407) │
00:00:49 verbose #1023 > > │ input=StringLiteral("m{(@") │
00:00:49 verbose #1024 > > │ input=Integer(3847599363720719846) │
00:00:49 verbose #1025 > > │ input=Operator(")") │
00:00:49 verbose #1026 > > │ input=Integer(-6950179798795401603) │
00:00:49 verbose #1027 > > │ input=Operator(")") │
00:00:49 verbose #1028 > > │ input=StringLiteral("bzQ2)T&CIe:?fq}icy/ ") │
00:00:49 verbose #1029 > > │ input=Comment("U&+#Y& $") │
00:00:49 verbose #1030 > > │ input=Integer(1051171378705105366) │
00:00:49 verbose #1031 > > │ input=Operator("=") │
00:00:49 verbose #1032 > > │ input=StringLiteral("'1V?{,_(f%:TE>r&&qz{r'g=la:E.") │
00:00:49 verbose #1033 > > │ input=StringLiteral("~NGL9<a2G`m:&<q~>$X]{#m") │
00:00:49 verbose #1034 > > │ input=StringLiteral("") │
00:00:49 verbose #1035 > > │ input=Comment("4o") │
00:00:49 verbose #1036 > > │ input=Identifier("UaAkXnjtefFrbTJ8Yz49umE8") │
00:00:49 verbose #1037 > > │ input=Integer(-9156356483747407076) │
00:00:49 verbose #1038 > > │ input=StringLiteral("/l$8`&axMe") │
00:00:49 verbose #1039 > > │ input=Comment("hm2F/$/{\"%9QOeqi.%d|") │
00:00:49 verbose #1040 > > │ input=Identifier("t8Jk3DJ4DcU") │
00:00:49 verbose #1041 > > │ input=Integer(-2740027664325400319) │
00:00:49 verbose #1042 > > │ input=Comment("Sw OM%*'") │
00:00:49 verbose #1043 > > │ input=StringLiteral("U$~+kO") │
00:00:49 verbose #1044 > > │ input=Identifier("KI5WC08sH8CU0mfUcBQNq") │
00:00:49 verbose #1045 > > │ input=StringLiteral("") │
00:00:49 verbose #1046 > > │ input=StringLiteral("$&}") │
00:00:49 verbose #1047 > > │ input=Comment("e*~{?j8<\\U\"W:@61qc{YUa&?") │
00:00:49 verbose #1048 > > │ input=StringLiteral("'0:jh%=wL^<}KXow") │
00:00:49 verbose #1049 > > │ input=Comment("Rk?") │
00:00:49 verbose #1050 > > │ input=Integer(-4936530580926053436) │
00:00:49 verbose #1051 > > │ input=Identifier("mMelLB7AyMv7I2I5lxB") │
00:00:49 verbose #1052 > > │ input=StringLiteral("M=zT8jCk/1[l/P;") │
00:00:49 verbose #1053 > > │ input=Operator("*") │
00:00:49 verbose #1054 > > │ input=StringLiteral("f^O*K&3 @+{.") │
00:00:49 verbose #1055 > > │ input=Integer(6871666825596528954) │
00:00:49 verbose #1056 > > │ input=Comment("F&|J{Ml=p=") │
00:00:49 verbose #1057 > > │ input=Operator("+") │
00:00:49 verbose #1058 > > │ input=Integer(7874775696701339370) │
00:00:49 verbose #1059 > > │ input=Identifier("Z9OEL99RwT66bK2SFMzsMTixCsSSn4") │
00:00:49 verbose #1060 > > │ input=Operator("(") │
00:00:49 verbose #1061 > > │ input=Identifier("qAAiA7mXCrz") │
00:00:49 verbose #1062 > > │ input=Identifier("hgCC17znX2wd8Q1ahLqX9Lr") │
00:00:49 verbose #1063 > > │ input=Integer(5470688415714697753) │
00:00:49 verbose #1064 > > │ input=Operator("/") │
00:00:49 verbose #1065 > > │ input=Integer(-7835717212180770095) │
00:00:49 verbose #1066 > > │ input=Integer(-2528030253425725185) │
00:00:49 verbose #1067 > > │ input=Integer(-6226058096079231352) │
00:00:49 verbose #1068 > > │ input=Comment("7&&!/hyWke,6\\Zx{U<OO{TNX,m. ") │
00:00:49 verbose #1069 > > │ input=Comment("G:\\C") │
00:00:49 verbose #1070 > > │ input=Integer(1077741739474432680) │
00:00:49 verbose #1071 > > │ input=Comment("U<2k") │
00:00:49 verbose #1072 > > │ input=StringLiteral("") │
00:00:49 verbose #1073 > > │ input=Identifier("r4oZN9hqd81vh") │
00:00:49 verbose #1074 > > │ input=Comment("&{w") │
00:00:49 verbose #1075 > > │ input=StringLiteral("rs*:5w00->q*.Z!xPl%s;v.'w6W") │
00:00:49 verbose #1076 > > │ input=Identifier("TA0OdW5tPjEaID0dmWOEk3LkJt") │
00:00:49 verbose #1077 > > │ input=Identifier("IpnW6u20181DSG9uPbAgjRu47RpOpt3Y") │
00:00:49 verbose #1078 > > │ input=Comment("I'y i:cN<4U |\\9\"u") │
00:00:49 verbose #1079 > > │ input=Comment("saF=iK?w") │
00:00:49 verbose #1080 > > │ input=Operator("+") │
00:00:49 verbose #1081 > > │ input=Identifier("rTZouQU0P8YETyx123FhN8oKjiG84CJB") │
00:00:49 verbose #1082 > > │ input=Integer(5184326913100737122) │
00:00:49 verbose #1083 > > │ input=Operator("=") │
00:00:49 verbose #1084 > > │ input=StringLiteral("<7|=a5^i!sM^(8o'%$()`D") │
00:00:49 verbose #1085 > > │ input=Operator("(") │
00:00:49 verbose #1086 > > │ input=Identifier("C40fq6rzm") │
00:00:49 verbose #1087 > > │ input=Comment("',$:I.Dh&[=/pk3s=e/.L`./O:*Y'=") │
00:00:49 verbose #1088 > > │ input=Operator("(") │
00:00:49 verbose #1089 > > │ input=Identifier("S3WtXdVL7h32MRB9Q") │
00:00:49 verbose #1090 > > │ input=Comment("<[p*\"5Sl5eS`'Wttv;") │
00:00:49 verbose #1091 > > │ input=StringLiteral("$'Do?[`3![l,}4L}&&}m@") │
00:00:49 verbose #1092 > > │ input=Identifier("zu4j10o4VxOUJ2wKy") │
00:00:49 verbose #1093 > > │ input=Identifier("co9PzV1xMw") │
00:00:49 verbose #1094 > > │ input=Comment("&0h9'f1h8^1!o:W$'") │
00:00:49 verbose #1095 > > │ input=StringLiteral("*XrzRu*:{") │
00:00:49 verbose #1096 > > │ input=Comment("k3=<LSXeF5N$7.S*wvg&icl{[z/") │
00:00:49 verbose #1097 > > │ input=Comment("wtGA:*NWu#\"l*#iN\"JGS") │
00:00:49 verbose #1098 > > │ input=Comment("'c?X\"|0dq$bX&?\\q//{/:=r:`rr3") │
00:00:49 verbose #1099 > > │ input=Integer(4546680356806646207) │
00:00:49 verbose #1100 > > │ input=Integer(-5864499717243044338) │
00:00:49 verbose #1101 > > │ input=StringLiteral("7*F?m$~6") │
00:00:49 verbose #1102 > > │ input=Identifier("ORiWwCO60THNwx") │
00:00:49 verbose #1103 > > │ input=Comment("6%&`3H/&R%p;wz*[&=A&Ma:.&&") │
00:00:49 verbose #1104 > > │ input=Integer(5028640465558619148) │
00:00:49 verbose #1105 > > │ input=StringLiteral("44%H..kQ I'`|wRi,v$j`:%Fe+") │
00:00:49 verbose #1106 > > │ input=Identifier("Z8T7nlrFsUGenM8A80") │
00:00:49 verbose #1107 > > │ input=Integer(6039238425578600378) │
00:00:49 verbose #1108 > > │ input=Comment("!V*g/%f%\\Wc1=k.z\\=&`-.=d") │
00:00:49 verbose #1109 > > │ input=Operator("(") │
00:00:49 verbose #1110 > > │ input=Operator("-") │
00:00:49 verbose #1111 > > │ input=Identifier("bpEVEfuSlVOIyGzn4Oiy4Tcv8ic5") │
00:00:49 verbose #1112 > > │ input=Integer(5181359551516015488) │
00:00:49 verbose #1113 > > │ input=Integer(5408646804756323629) │
00:00:49 verbose #1114 > > │ input=Identifier("TCG705ifJVH") │
00:00:49 verbose #1115 > > │ input=Operator("-") │
00:00:49 verbose #1116 > > │ input=StringLiteral("B/$M=aVH<*_") │
00:00:49 verbose #1117 > > │ input=Comment("\";/(H?<:") │
00:00:49 verbose #1118 > > │ input=Integer(8621657025323565536) │
00:00:49 verbose #1119 > > │ input=Integer(237375550162836724) │
00:00:49 verbose #1120 > > │ input=Integer(7552293342881148469) │
00:00:49 verbose #1121 > > │ input=StringLiteral("<=&k<Q&/bu($'F/wl2k>].R7h&*lE") │
00:00:49 verbose #1122 > > │ input=StringLiteral("cq<:c{ $2+ucH{]UE*4.~9'") │
00:00:49 verbose #1123 > > │ input=Identifier("X92Rb4LTmWoG0yVqSp0BQicWhV8o9Y") │
00:00:49 verbose #1124 > > │ input=Integer(3071968645751903065) │
00:00:49 verbose #1125 > > │ input=Integer(5571972614089650470) │
00:00:49 verbose #1126 > > │ input=StringLiteral(".:h'<46=<;Z 4vIB|',") │
00:00:49 verbose #1127 > > │ input=Identifier("ngmRQylBJ3d8Bzc8pHXyat3QICKL") │
00:00:49 verbose #1128 > > │ input=Comment("#:") │
00:00:49 verbose #1129 > > │ input=Identifier("E5j03IFB9wr0in1") │
00:00:49 verbose #1130 > > │ input=Integer(3678114551767978733) │
00:00:49 verbose #1131 > > │ input=StringLiteral("'l~T%0AMfi<Bcr$3OBCV{3<&pJ)09") │
00:00:49 verbose #1132 > > │ input=Identifier("S0cQDf3E0JquaOb") │
00:00:49 verbose #1133 > > │ input=StringLiteral("-|") │
00:00:49 verbose #1134 > > │ input=Comment("`S{4:.rY*CY($<") │
00:00:49 verbose #1135 > > │ input=StringLiteral("Q`)OCZs&./'1(J'-pVa,y}/Mz") │
00:00:49 verbose #1136 > > │ input=Integer(3636067117005051056) │
00:00:49 verbose #1137 > > │ input=StringLiteral("M") │
00:00:49 verbose #1138 > > │ input=Integer(9157186587791284712) │
00:00:49 verbose #1139 > > │ input=Operator("+") │
00:00:49 verbose #1140 > > │ input=StringLiteral("=(C=lr|0<v{G=?*{6F<_*Q$C{2::?j?") │
00:00:49 verbose #1141 > > │ input=Operator("*") │
00:00:49 verbose #1142 > > │ input=Identifier("CSzZk5rOAHu3p") │
00:00:49 verbose #1143 > > │ input=Integer(-592383065615109216) │
00:00:49 verbose #1144 > > │ input=StringLiteral("/{on@gL':(??q.mp") │
00:00:49 verbose #1145 > > │ input=Integer(5357773573478188455) │
00:00:49 verbose #1146 > > │ input=Comment("M") │
00:00:49 verbose #1147 > > │ input=Comment("R") │
00:00:49 verbose #1148 > > │ input=Identifier("QZ8ss1en") │
00:00:49 verbose #1149 > > │ input=StringLiteral("%_/%") │
00:00:49 verbose #1150 > > │ input=Identifier("FO8YX1mE9QTkCbltaEHLIbn") │
00:00:49 verbose #1151 > > │ input=Comment("\"N<R,lZ\\{j`$h<D/=>.t$G`tg]OQ!S") │
00:00:49 verbose #1152 > > │ input=Integer(-5998043310687817575) │
00:00:49 verbose #1153 > > │ input=StringLiteral("X?/?%C=:#rh|:bm{ }O?<ATv&") │
00:00:49 verbose #1154 > > │ input=StringLiteral("<)ECkE%O-`2>0") │
00:00:49 verbose #1155 > > │ input=Integer(3092269585327232487) │
00:00:49 verbose #1156 > > │ input=Identifier("KU4bWRCDMyzM19esL17f2Z3jJxi7gUfsa") │
00:00:49 verbose #1157 > > │ input=Operator("-") │
00:00:49 verbose #1158 > > │ input=StringLiteral(",'@:b(.::|") │
00:00:49 verbose #1159 > > │ input=Comment("+PY PH`a?F4:*MB_&2&?&0{%J%Ser*\\D") │
00:00:49 verbose #1160 > > │ input=Integer(3705870276119962172) │
00:00:49 verbose #1161 > > │ input=Comment("we{&m>zswiU.;\\=\"d1*;.") │
00:00:49 verbose #1162 > > │ input=Integer(6370417280514661752) │
00:00:49 verbose #1163 > > │ input=Integer(-9163180668957407719) │
00:00:49 verbose #1164 > > │ input=Comment("MepO{") │
00:00:49 verbose #1165 > > │ input=Operator("*") │
00:00:49 verbose #1166 > > │ input=Comment("T6I:{C3.o']E?n\"%E") │
00:00:49 verbose #1167 > > │ input=Operator(")") │
00:00:49 verbose #1168 > > │ input=StringLiteral("5<$*") │
00:00:49 verbose #1169 > > │ input=StringLiteral("=") │
00:00:49 verbose #1170 > > │ input=Operator("=") │
00:00:49 verbose #1171 > > │ input=Comment("t\\X[$2lI{'\"z\\") │
00:00:49 verbose #1172 > > │ input=StringLiteral("5;'*&nMAj/+Q`'U/@R0o$$ai=^") │
00:00:49 verbose #1173 > > │ input=StringLiteral("]-?@(e{{i??@:Y['~,Nt9") │
00:00:49 verbose #1174 > > │ input=Comment("?Yq||.`w`e:t.'I?z#Mp>v\".") │
00:00:49 verbose #1175 > > │ input=StringLiteral(">'Y>^t,@") │
00:00:49 verbose #1176 > > │ input=Comment("}?") │
00:00:49 verbose #1177 > > │ input=Identifier("uMN6rt7dYtVCCT8zGu5xjYGrtHu2PNtBz") │
00:00:49 verbose #1178 > > │ input=Identifier("VKQ5Dxwm") │
00:00:49 verbose #1179 > > │ input=Comment("hU`&V~W<c},{'/O~=(PZ'=") │
00:00:49 verbose #1180 > > │ input=Identifier("Ci32p2wf1fTAO10glTasKgbwYXZkDZ") │
00:00:49 verbose #1181 > > │ input=Identifier("HHThhR0BzL01XOFt4qrUHd74G7NkKx3") │
00:00:49 verbose #1182 > > │ input=Integer(-1766352055010360445) │
00:00:49 verbose #1183 > > │ input=Integer(-2707144404314946171) │
00:00:49 verbose #1184 > > │ input=Comment("") │
00:00:49 verbose #1185 > > │ input=StringLiteral("#R$UUMM&|=d~dk'e") │
00:00:49 verbose #1186 > > │ input=Identifier("wR2ae") │
00:00:49 verbose #1187 > > │ input=Operator("(") │
00:00:49 verbose #1188 > > │ input=Identifier("DuyTL0AiY") │
00:00:49 verbose #1189 > > │ input=Integer(-862812489030435180) │
00:00:49 verbose #1190 > > │ input=Integer(-1664005597175252632) │
00:00:49 verbose #1191 > > │ input=Identifier("t") │
00:00:49 verbose #1192 > > │ input=StringLiteral("H?p&gT.G7rN.*{$%'5") │
00:00:49 verbose #1193 > > │ input=Identifier("zqoYy97r8") │
00:00:49 verbose #1194 > > │ input=StringLiteral("-kjw`T/:Y") │
00:00:49 verbose #1195 > > │ input=Comment("^/{#y{=\\=da'aC1/]`'_$|Klq/wl.f") │
00:00:49 verbose #1196 > > │ input=StringLiteral("") │
00:00:49 verbose #1197 > > │ input=StringLiteral("7?vu=%L=<9%V{c.;") │
00:00:49 verbose #1198 > > │ input=Comment("QFC,") │
00:00:49 verbose #1199 > > │ input=Identifier("Vzlok8E0l1") │
00:00:49 verbose #1200 > > │ input=StringLiteral("") │
00:00:49 verbose #1201 > > │ input=Operator("=") │
00:00:49 verbose #1202 > > │ input=Integer(-2968866888487591741) │
00:00:49 verbose #1203 > > │ input=Operator("*") │
00:00:49 verbose #1204 > > │ input=Integer(6852866938859980432) │
00:00:49 verbose #1205 > > │ input=Integer(2211049682050207465) │
00:00:49 verbose #1206 > > │ input=StringLiteral("`iD2y'~9?&&") │
00:00:49 verbose #1207 > > │ input=Operator("*") │
00:00:49 verbose #1208 > > │ input=Comment("5y") │
00:00:49 verbose #1209 > > │ input=Integer(8056145324663554847) │
00:00:49 verbose #1210 > > │ input=Operator("=") │
00:00:49 verbose #1211 > > │ input=Operator("-") │
00:00:49 verbose #1212 > > │ input=StringLiteral("?(5brAL-KTF[(q)QC!J;?y<Bh-Kj?^(") │
00:00:49 verbose #1213 > > │ input=Comment("/t<_a)jeK") │
00:00:49 verbose #1214 > > │ input=Integer(-5052802248631803425) │
00:00:49 verbose #1215 > > │ input=Comment("'$8V=iy_%)lIz&L$\\*") │
00:00:49 verbose #1216 > > │ input=StringLiteral("~e$@O(:") │
00:00:49 verbose #1217 > > │ input=StringLiteral("9FFl.q") │
00:00:49 verbose #1218 > > │ input=StringLiteral("'F{.v[P692*P./'AD<t):=OrB") │
00:00:49 verbose #1219 > > │ input=StringLiteral("?O.{<$&=nm)1eG`<mLO=(G?={") │
00:00:49 verbose #1220 > > │ input=Integer(-5698995227952504803) │
00:00:49 verbose #1221 > > │ input=StringLiteral(">8vB9$>.R/3 m0J7{d/*fW&<") │
00:00:49 verbose #1222 > > │ input=Comment("\\QS\"9cK\\bv4u6~/dy wZf+4") │
00:00:49 verbose #1223 > > │ input=StringLiteral("KT$`=s$V") │
00:00:49 verbose #1224 > > │ input=Operator("+") │
00:00:49 verbose #1225 > > │ input=Operator("+") │
00:00:49 verbose #1226 > > │ input=Integer(4454812910235182435) │
00:00:49 verbose #1227 > > │ input=Identifier("OeyPbBrOh3P44DHiFQWuMWXj79") │
00:00:49 verbose #1228 > > │ input=Comment("&~JO5Nl~Y\"UF\\3 \\gs\";{fg,'S=*6bB") │
00:00:49 verbose #1229 > > │ input=Identifier("ZDht4o5Fg9i4xaGAAbWz6kW") │
00:00:49 verbose #1230 > > │ input=Identifier("udN") │
00:00:49 verbose #1231 > > │ input=Identifier("XU1RDeRunpMIJLf70") │
00:00:49 verbose #1232 > > │ input=Comment("0\\[/6gz}/XVRB%V\"Vyw.^T]") │
00:00:49 verbose #1233 > > │ input=Comment("'QFg{ZmU+.dm\\J{?14FMi`?$-m`R") │
00:00:49 verbose #1234 > > │ input=Identifier("hamp6Zj1") │
00:00:49 verbose #1235 > > │ input=StringLiteral("GT>h@'98I0</jj?rZl02JL") │
00:00:49 verbose #1236 > > │ input=Operator(")") │
00:00:49 verbose #1237 > > │ input=Comment(",*X?*t5\\\"g*O$/ W2X&YWgAky2'l") │
00:00:49 verbose #1238 > > │ input=Integer(-1969117493624261379) │
00:00:49 verbose #1239 > > │ input=StringLiteral("4$F{>%->>") │
00:00:49 verbose #1240 > > │ input=Identifier("e0M3OFCZKoyfFiWmfbUNcPNd") │
00:00:49 verbose #1241 > > │ input=StringLiteral("nZg") │
00:00:49 verbose #1242 > > │ input=Integer(4750448738067661802) │
00:00:49 verbose #1243 > > │ input=Integer(4264758584550735620) │
00:00:49 verbose #1244 > > │ input=Identifier("uym3xTjyV") │
00:00:49 verbose #1245 > > │ input=Integer(6558450961698690390) │
00:00:49 verbose #1246 > > │ input=Comment("uk.r]C:w<Osp2}2\"\"_?(;,\"-^4[=%-\"(") │
00:00:49 verbose #1247 > > │ input=Identifier("yV0mnZ4TIwjjIow3Pbsbi14O8pR1CDWOM") │
00:00:49 verbose #1248 > > │ input=Integer(3362134968055742051) │
00:00:49 verbose #1249 > > │ input=StringLiteral("'iHg:") │
00:00:49 verbose #1250 > > │ input=StringLiteral("") │
00:00:49 verbose #1251 > > │ input=Operator("-") │
00:00:49 verbose #1252 > > │ input=Comment("vC") │
00:00:49 verbose #1253 > > │ input=Integer(8165052078293093067) │
00:00:49 verbose #1254 > > │ input=Integer(7181681897889114574) │
00:00:49 verbose #1255 > > │ input=Identifier("f9vY9QGa2YkM") │
00:00:49 verbose #1256 > > │ input=Comment("Z&j$kZ$i<:$<?XvM`>\\ @`/?>?R") │
00:00:49 verbose #1257 > > │ input=Identifier("SlNnLVHgBCgloaHg9") │
00:00:49 verbose #1258 > > │ input=Integer(-6893129168956869927) │
00:00:49 verbose #1259 > > │ input=Identifier("Ebl6x5FDX25Z95lV") │
00:00:49 verbose #1260 > > │ input=Integer(-4670088638778766252) │
00:00:49 verbose #1261 > > │ input=Operator("/") │
00:00:49 verbose #1262 > > │ input=StringLiteral(".NA$?u/:M4#$o0#^nR&L<[") │
00:00:49 verbose #1263 > > │ input=StringLiteral("wdv0z`Nq") │
00:00:49 verbose #1264 > > │ │
00:00:49 verbose #1265 > > │ │
00:00:49 verbose #1266 > > │ successes: │
00:00:49 verbose #1267 > > │ adding_and_then_removing_an_item_from_the_cart_leaves_the_cart_unchanged │
00:00:49 verbose #1268 > > │ prop_parse_format_idempotent │
00:00:49 verbose #1269 > > │ test_parse_number │
00:00:49 verbose #1270 > > │ │
00:00:49 verbose #1271 > > │ test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; │
00:00:49 verbose #1272 > > │ finished in 0.07s │
00:00:49 verbose #1273 > > │ │
00:00:49 verbose #1274 > > │ │
00:00:49 verbose #1275 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:49 verbose #1276 > >
00:00:49 verbose #1277 > > ── markdown ────────────────────────────────────────────────────────────────────
00:00:49 verbose #1278 > > ╭──────────────────────────────────────────────────────────────────────────────╮
00:00:49 verbose #1279 > > │ ### execute the binary in release mode │
00:00:49 verbose #1280 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:49 verbose #1281 > >
00:00:49 verbose #1282 > > ── pwsh ────────────────────────────────────────────────────────────────────────
00:00:49 verbose #1283 > > { . $ScriptDir/../../../../workspace/target/release/spiral_temp_test$(_exe) } |
00:00:49 verbose #1284 > > Invoke-Block
00:00:49 verbose #1285 > >
00:00:49 verbose #1286 > > ╭─[ 10.90ms - stdout ]─────────────────────────────────────────────────────────╮
00:00:49 verbose #1287 > > │ app=test │
00:00:49 verbose #1288 > > │ │
00:00:49 verbose #1289 > > ╰──────────────────────────────────────────────────────────────────────────────╯
00:00:49 verbose #1290 > 00:00:48 verbose #3 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 132363
00:00:49 verbose #1291 > 00:00:48 debug #4 runtime.execute_with_options / file_name: jupyter / arguments: ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"] / options: (None, "jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb" --to html --HTMLExporter.theme=dark", Array(MutCell([])), None, None, true, None)
00:00:50 verbose #1292 > 00:00:49 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb to html
00:00:50 verbose #1293 > 00:00:49 verbose #6 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
00:00:50 verbose #1294 > 00:00:49 verbose #7 ! validate(nb)
00:00:50 verbose #1295 > 00:00:49 verbose #8 ! /opt/hostedtoolcache/Python/3.12.3/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3
00:00:50 verbose #1296 > 00:00:49 verbose #9 ! return _pygments_highlight(
00:00:50 verbose #1297 > 00:00:49 verbose #10 ! [NbConvertApp] Writing 353291 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.html
00:00:50 verbose #1298 > 00:00:49 verbose #11 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 916
00:00:50 verbose #1299 > 00:00:49 debug #12 spiral_builder.run / dib / jupyter nbconvert / exit_code: 0 / jupyter_result.Length: 916
00:00:50 verbose #1300 > 00:00:49 debug #13 runtime.execute_with_options / file_name: pwsh / arguments: ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"] / options: (None, "pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"", Array(MutCell([])), None, None, true, None)
00:00:51 verbose #1301 > 00:00:49 verbose #14 runtime.execute_with_options / result / exit_code: 0 / std_trace.Length: 0
00:00:51 verbose #1302 > 00:00:49 debug #15 spiral_builder.run / dib / html cell ids / exit_code: 0 / pwsh_replace_html_result.Length: 0
00:00:51 verbose #1303 > 00:00:49 debug #16 spiral_builder.run / dib / exit_code: 0 / result.Length: 133338
00:00:51 debug #1304 execute_with_options_async / exit_code: 0 / output.Length: 138340
00:00:51 debug #3 main / executeCommand / exitCode: 0 / command: ../../../../workspace/target/release/spiral_builder dib --path build.dib
00:00:51 verbose #35 networking.wait_for_port_access / port: 13805 / retry: 0 / timeout: Some 100 / status: False
00:00:51 verbose #36 networking.test_port_open / port: 13805 / ex: System.AggregateException: One or more errors occurred. (Connection refused)
In [ ]:
{ pwsh ../apps/spiral/vscode/build.ps1 } | Invoke-Block
bun install v1.1.8 (89d25807) + @types/node@20.12.11 + @types/vscode@1.89.0 + @vscode/vsce@2.26.1 + npm-check-updates@17.0.0-5 + typescript@5.5.0-dev.20240514 + vscode@1.1.37 190 packages installed [1050.00ms] Creating symlink: /home/runner/work/polyglot/polyglot/apps/spiral/vscode/LICENSE -> /home/runner/work/polyglot/polyglot/LICENSE out/src/extension.js 2.4kb out/media/cellOutputScrollButtons.js 1.9kb ⚡ Done in 4ms (node:157425) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) Packaged: out/spiral-vscode-0.0.1.vsix (12 files, 43.43KB)
In [ ]:
{ pwsh ../apps/ipfs/build.ps1 } | Invoke-Block
bun install v1.1.8 (89d25807)
+ @types/node@20.12.2
+ npm-check-updates@17.0.0-5
+ typescript@5.5.0-dev.20240401
+ nft.storage@7.1.1
219 packages installed [514.00ms]
Blocked 1 postinstall. Run `bun pm untrusted` for details.
In [ ]:
{ pwsh ./outdated.ps1 } | Invoke-Block
Paket version 8.1.0-alpha002+df391903d7590864c0bba48fdc34b50ddcc94cc2
Resolving dependency graph...
Outdated packages found:
Group: Main
* Argu 6.2.2 -> 6.2.3
* Expecto.FsCheck 10.2.1-fscheck3 -> 10.2.1
* FsCheck 3.0.0-rc3 -> 2.16.6
* FSharp.Core 8.0.300-beta.24080.5 -> 8.0.300
* Microsoft.AspNetCore.Connections.Abstractions 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.AspNetCore.Http.Connections.Client 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.AspNetCore.Http.Connections.Common 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.AspNetCore.SignalR.Client 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.AspNetCore.SignalR.Client.Core 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.AspNetCore.SignalR.Common 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.AspNetCore.SignalR.Protocols.Json 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.Extensions.DependencyInjection 8.0 -> 9.0.0-preview.3.24172.9
* Microsoft.Extensions.DependencyInjection.Abstractions 8.0.1 -> 9.0.0-preview.3.24172.9
* Microsoft.Extensions.Features 7.0 -> 9.0.0-preview.3.24172.13
* Microsoft.Extensions.Logging 8.0 -> 9.0.0-preview.3.24172.9
* Microsoft.Extensions.Logging.Abstractions 8.0.1 -> 9.0.0-preview.3.24172.9
* Microsoft.Extensions.Options 8.0.2 -> 9.0.0-preview.3.24172.9
* Microsoft.Extensions.Primitives 8.0 -> 9.0.0-preview.3.24172.9
* System.CodeDom 8.0 -> 9.0.0-preview.3.24172.9
* System.IO.Pipelines 8.0 -> 9.0.0-preview.3.24172.9
* System.Management 7.0 -> 9.0.0-preview.3.24172.9
* System.Threading.Channels 8.0 -> 9.0.0-preview.3.24172.9
Total time taken: 11 seconds
CheckToml / toml: /home/runner/work/polyglot/polyglot/workspace/Cargo.toml
chat_contract_tests
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
autocfg 1.3.0 Removed --- Build ---
equivalent 1.0.1 --- Removed Normal ---
hashbrown 0.12.3 0.14.5 --- Normal ---
hashbrown 0.14.5 --- 0.12.3 Normal ---
indexmap 1.9.3 2.2.6 --- Normal ---
indexmap 2.2.6 --- 1.9.3 Normal ---
CheckToml / toml: /home/runner/work/polyglot/polyglot/apps/chat/contract/Cargo.toml
All dependencies are up to date, yay!
CheckToml / toml: /home/runner/work/polyglot/polyglot/apps/chat/contract/tests/Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
flate2->crc32fast 1.4.0 1.4.1 1.4.1 Normal ---
indexmap->equivalent 1.0.1 Removed Removed Normal ---
indexmap->hashbrown 0.14.5 0.12.3 0.12.3 Normal ---
serde_with->indexmap 2.2.6 1.9.3 1.9.3 Normal ---
zip->crc32fast 1.4.0 1.4.1 1.4.1 Normal ---
CheckToml / toml: /home/runner/work/polyglot/polyglot/apps/plot/Cargo.toml
All dependencies are up to date, yay!
CheckJson / json: /home/runner/work/polyglot/polyglot
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/package.json
All dependencies match the greatest package versions :)
CheckJson / json: /home/runner/work/polyglot/polyglot/apps/ipfs
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/apps/ipfs/package.json
All dependencies match the greatest package versions :)
CheckJson / json: /home/runner/work/polyglot/polyglot/apps/spiral/temp/extension
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/apps/spiral/temp/extension/package.json
@playwright/test 1.44.0 → 1.45.0-alpha-2024-05-20
Run ncu --target greatest -u to upgrade package.json
CheckJson / json: /home/runner/work/polyglot/polyglot/apps/spiral/vscode
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/apps/spiral/vscode/package.json
All dependencies match the greatest package versions :)